Home  >  Article  >  Backend Development  >  How to use re.findAll(), re.sub(), and set() in Python

How to use re.findAll(), re.sub(), and set() in Python

王林
王林forward
2023-05-16 10:19:051080browse

1. re.findall()

re.findall(): The function returns a list containing all matching items. Returns all strings matching pattern in string, in the form of list/array.

How to use re.findAll(), re.sub(), and set() in Python

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 &#39;list&#39;>
# [&#39;38&#39;, &#39;99&#39;]

2. re.sub()

re.sub(): The function replaces all matching items with the selected text and returns the result.

How to use re.findAll(), re.sub(), and set() in Python

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

# 将所有匹配到的‘数字串&#39; 替换为 &#39;520‘
text1 = &#39;北京市海淀区不存在的38街区不想工作大厦99号&#39;
res = re.re(r&#39;\d+&#39;, 520)
print(type(res))
print(res)
# output,返回值res结果是str
# <class &#39;str&#39;>
# 北京市海淀区不存在的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 &#39;set&#39;>
# {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 &#39;set&#39;>
# {2, 3, 4}
# 计算l1 和 l2 的并集, 并集符号 ‘|&#39;,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 &#39;set&#39;>
# {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 &#39;set&#39;>
# {1}
# set内也可以传入字符串,会自动转换成list类型
text1 = &#39;北京市海淀区海淀区不想上班不想上班&#39;
res = set(text1)
print(res) # 内部元素是一个个的字,去重 且 无序
# output
# <class &#39;set&#39;>
# {&#39;上&#39;, &#39;北&#39;, &#39;班&#39;, &#39;海&#39;, &#39;淀&#39;, &#39;京&#39;, &#39;不&#39;, &#39;想&#39;, &#39;区&#39;, &#39;市&#39;}

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!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete