Home > Article > Backend Development > How to use re.findAll(), re.sub(), and set() in Python
re.findall(): The function returns a list containing all matching items. Returns all strings matching pattern in string, in the form of list/array.
It can be seen from the function prototype code that the findall() function has three parameters:
1. pattern: the ‘ pattern string in the regular expression ’ ;
2. string: the original string that currently needs to be processed (search and replace);
3. flags: optional parameter, indicating the matching mode used during compilation (such as ignoring size writing, multi-line mode, etc.), in numeric form, the default is 0
# 示例代码 import re text1 = '北京市海淀区不存在的38街区不想工作大厦99号' res = re.findall(r'\d+', text1) print(type(res)) print(res) # output # <class 'list'> # ['38', '99']
re.sub(): The function replaces all matching items with the selected text and returns the result.
It can be seen from the function prototype code that the re.sub() function has five parameters:
1. pattern: ‘ pattern in regular expressions String’ ;
2. repl: the string that needs to be replaced, that is, replacing the matched pattern with repl; it can be a function;
3. string: currently needs to be processed ( Find and replace) the original string; ;
5. flags: Optional parameter, indicating the matching mode used during compilation (such as ignoring case, multi-line mode, etc.), in numeric form, the default is 0
# 将所有匹配到的‘数字串' 替换为 '520‘ text1 = '北京市海淀区不存在的38街区不想工作大厦99号' res = re.re(r'\d+', 520) print(type(res)) print(res) # output,返回值res结果是str # <class 'str'> # 北京市海淀区不存在的520街区不想工作大厦520号
3. set ()
set(): One of python’s built-in functions, creates an unordered set of non-repeating elements. Supports calculation of intersection, difference, and union.
# 为list数组l1 去重 l1 = [1, 1, 2, 2, 2, 3, 4] s1 = set(l1) print(type(s1)) print(s1) # output,返回类型是 set # <class 'set'> # {1, 2, 3, 4}
# 计算l1 和 l2 的交集 l1 = [1, 1, 2, 2, 2, 3, 4] l2 = [2, 3, 3, 4, 5, 6, 6] s1 = set(l1) s2 = set(l2) u = s1 & s2 print(type(u)) print(u) # output,返回结果类型set # <class 'set'> # {2, 3, 4}
# 计算l1 和 l2 的并集, 并集符号 ‘|',intersection l1 = [1, 1, 2, 2, 2, 3, 4] l2 = [2, 3, 3, 4, 5, 6, 6] s1 = set(l1) # {1, 2, 3, 4} s2 = set(l2) # {2, 3, 4, 5, 6} u = s1 | s2 print(type(u)) print(u) # output,返回结果类型set, 计算 {1, 2, 3, 4} 和 {2, 3, 4, 5, 6} 的并集 # <class 'set'> # {1, 2, 3, 4, 5, 6}
# 计算差集,diff l1 = [1, 1, 2, 2, 2, 3, 4] l2 = [2, 3, 3, 4, 5, 6, 6] s1 = set(l1) # {1, 2, 3, 4} s2 = set(l2) # {2, 3, 4, 5, 6} print(s2) u = s1 - s2 print(type(u)) print(u) # output,返回结果是set # <class 'set'> # {1}
# set内也可以传入字符串,会自动转换成list类型 text1 = '北京市海淀区海淀区不想上班不想上班' res = set(text1) print(res) # 内部元素是一个个的字,去重 且 无序 # output # <class 'set'> # {'上', '北', '班', '海', '淀', '京', '不', '想', '区', '市'}
The above is the detailed content of How to use re.findAll(), re.sub(), and set() in Python. For more information, please follow other related articles on the PHP Chinese website!