1. 字符串匹配 match
"""
match(p,text)函数进行字符串匹配,其中的参数p是正则表达式,即字符串模板,text是要验证的字符串。如果匹配成功,则返回一个Match对象(匹配对象),否则返回None
"""
import re
p = r'\w+@zhijieketang\.com'
email ='[email protected]'
m = re.match(p,email)
print(m)
print(type(m))
email2 = '[email protected]'
m2 = re.match(p,email2)
print(m2)
OUT:
<re.Match object; span=(0, 29), match='[email protected]'>
<class 're.Match'>
None
2. 字符串查找 search
search(p,text):在text字符串中查找匹配的内容,如果找到,则返回第1个匹配的Match对象,否则返回None。p是正则表达式。
import re
"""
search(p,text):在text字符串中查找匹配的内容,如果找到,则返回第1个匹配的Match对象,否则返回None。p是正则表达式。
"""
p = r'\w+@zhijieketang\.com'
text = "Tony's email is [email protected]"
m = re.search(p,text)
print(m)
print(bool(m))
text2 = "Tony's email is [email protected]"
m2 = re.search(p,text2)
print(m2)
out:
<re.Match object; span=(16, 45), match='[email protected]'>
True
None
3. 字符串查找findall
findall(p,text):在text字符串中查找所有匹配的内容,如果找到,则返回所有匹配的字符串列表;如果一个都没有匹配,则返回None。p是正则表达式。
"""
findall(p,text):在text字符串中查找所有匹配的内容,如果找到,则返回所有匹配的字符串列表;如果一个都没有匹配,则返回None。p是正则表达式。
"""
import re
p = r'Java|java|JAVA'
text = 'I like java and Java and JAVA'
match_list = re.findall(p,text)
print(match_list)
out:
['java', 'Java', 'JAVA']
4. 字符串替换
正则表达式的字符串替换函数是sub( ),该函数替换匹配的子字符串,返回值是替换之后的字符串,其语法格式如下:
其中,参数pattern是正则表达式;参数repl是用于替换的新字符串;参数string是即将被替换的旧字符串;参数count是要替换的最大数量,默认值为零,表示不限制替换数量。
5. 字符串分割
来源:《看漫画学python》