python 正则表达式总结
# findall 找出所有的, match 从第一个字符开始找, fullmatch全句完全匹配, search从第一个字符开始从左向右逐个检查
text = "jack最好, jack最好的, jack最好了, jack是最好的"
pattern = "jack最好"
print(re.findall(pattern, text)) 输出:['jack最好', 'jack最好', 'jack最好']
print(re.match(pattern, text)) 输出:<re.Match object; span=(0, 6), match='jack最好'>
print(re.match(pattern, text).group()) 输出:jack最好
print(re.fullmatch(pattern, text)) 输出:None
print(re.search(pattern, text)) 输出:<re.Match object; span=(0, 6), match='jack最好'>
print(re.search(pattern, text).group()) 输出:jack最好
p = re.compile("ab")
print(p.search("abbbbc"))
上面两行就相当于这一行:print(re.search("ab", "abbbbc"))
re.search(pattern, string, flags=0) 从第一个字符开始从左向右逐个检查是否匹配,直到检查到匹配的字符串
re.match(pattern, string, flags=0) 判断第一个字符是否就能匹配
re.fullmatch(pattern, string, flags=0) 判断整个字符串是否正好完整匹配
re.findall(pattern, string, flags=0) 从第一个字符开始从左向右逐个检查是否匹配,返回一个list包含所有不重复的匹配结果
re.finditer(pattern, string, flags=0) 从第一个字符开始从左向右逐个检查是否匹配,返回一个迭代器包含所有不重复的匹配结果
re.split(pattern, string, maxsplit=0, flags=0)
re.sub(pattern, repl, string, count=0, flags=0)
re.subn(pattern, repl, string, count=0, flags=0)
match, search, finditer返回的都是match对象 <re.Match object; span=(0, 2), match='ab'>
有group, 有group, 有__next__()