Python正则表达式
目录
导入模块
import re
search函数
re.search(pattern, text)
说明:search函数在text字符串中扫描pattern,找到pattern返回一个Match对象;否则,返回None。
代码:
import re
pattern = 'this'
text = 'Does this text match the pattern?'
match = re.search(pattern, text)
s = match.start()
e = match.end()
print('Found "{}"\nin "{}"\nfrom {} to {} ("{}")'.format(
match.re.pattern, match.string, s, e, text[s:e]))
运行结果:
Found "this"
in "Does this text match the pattern?"
from 5 to 9 ("this")
compile函数
说明:compile函数将表达式字符串转换为Regex对象。
代码:
import re
# Precompile the patterns
regexes = [
re.compile(p)
for p in ['this', 'that']
]
text = 'Does this text match the pattern?'
print('Text: {!r}\n'.format(text))
for regex in regexes:
print('type(regex)', type(regex),regex)
print('Seeking "{}" ->'.format(regex.pattern),
end=' ')
if regex.search(text):
print('match!')
else:
print('no match')
运行结果:
Text: 'Does this text match the pattern?'
type(regex) <class 're.Pattern'> re.compile('this')
Seeking "this" -> match!
type(regex) <class 're.Pattern'> re.compile('that')
Seeking "that" -> no match