import re
def text_match(text, pattern):
if re.search(pattern, text):
return "找到一个匹配!"
else:
return "没有找到匹配!"
print(text_match('ac', 'ab?'))
print(text_match('bc', 'ab?'))
print(text_match('abc', 'ab?'))
print(text_match('abbc', 'ab?'))
输出:
找到一个匹配!
没有找到匹配!
找到一个匹配!
找到一个匹配!
print(text_match('ac', 'ab*'))
print(text_match('bc', 'ab*'))
print(text_match('abc', 'ab*'))
print(text_match('abbc', 'ab*'))
输出:
找到一个匹配!
没有找到匹配!
找到一个匹配!
找到一个匹配!
?是 * 的子集
print(text_match('ac', 'ab+'))
print(text_match('bc', 'ab+'))
print(text_match('abc', 'ab+'))
print(text_match('abbc', 'ab+'))
输出:
没有找到匹配!
没有找到匹配!
找到一个匹配!
找到一个匹配!
print(text_match('abc', 'ab{2}'))
print(text_match('abbc', 'ab{2}'))
print(text_match('abbbbc', 'ab{3,5}?')) # 范围3-5次
输出:
没有找到匹配!
找到一个匹配!
找到一个匹配!
print(text_match('abbbc', '^a.*c$'))
找到一个匹配!
print(text_match('abbbc', '^\w+'))
print(text_match('1abbbc', '^\w+'))
print(text_match('_abbbc', '^\w+'))
print(text_match('@abbbc', '^\w+'))
找到一个匹配!
找到一个匹配!
找到一个匹配!
没有找到匹配!
print(text_match('abbbc def', '\s'))
print(text_match('abbbcdef', '\s'))
找到一个匹配!
没有找到匹配!
text = "love never fails.\nlove is forgive"
for mat in re.finditer('love', text):
s = mat.start()
e = mat.end()
print('find %s at %d:%d'%(text[s:e], s, e))
find love at 0:4
find love at 18:22