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