-
re.findall()
-
re.split()
-
re.sub()
1、re.findall(pattern, string) :
在字符串(string)中找到正则表达式所匹配的所有子串(pattern),并返回一个列表[pattern0, pattern1, ……];如果没有找到匹配的,则返回空列表[]。
import re
s = 'python-123!abc@(456)#efg$789&*,python,'
lis1 = re.findall('python', s)
lis2 = re.findall('sql', s)
print(lis1)
print(lis2)
-
lis1 输出结果:['python', 'python']
-
lis2 输出结果:[]
re.compile(pattern)
import re
# 找出字符串s中的特定字符。
s = 'python-123!abc@(456)#efg$789&*,python,'
p = re.compile('[-$()#+&*]')
lis1 = re.findall(p, s)
print(lis1)
-
lis1 输出结果:['-', '(', ')', '#', '$', '&', '*']
2、re.split(pattern, string):
按照字串(pattern)将字符串(string)分割,形成列表。
import re
# 按照特殊字符将s分割,形成列表
s = 'python-123!abc@(456)#efg$789&*,python,'
p = re.compile('[-!@$()#&*,]')
lis1 = re.split(p, s)
print(lis1)
-
lis1 输出结果:['python', '123', 'abc', '', '456', '', 'efg', '789', '', '', 'python', '']
3、 re.sub(pattern, repl, string):
在字符串(string)中找到正则表达式所匹配的所有子串(pattern),用字串(repl)替换字串(pattren), 返回一个新的字符串
import re
# 将p中的特殊字符替换为'-'
s = 'python-123!abc@(456)#efg$789&*,python,'
p = re.compile('[-!@$()#&*,]')
s1 = re.sub(p, "-", s)
print(s1)
- s1 输出结果:python-123-abc--456--efg-789---python-