发布时间:2019-08-28 09:06:24编辑:auto阅读(1492)
re包含一些模块级函数,用于处理作为文本字符串的正则表达式,不过对于程序频繁使用的表达式,编译这些表达式会更为高效。compile()函数会把一个表达式字符串转换为一个RegexObject。
- import re
- regexes = [ re.compile(p)
- for p in ['this', 'that']
- ]
- text = 'Does this text match the pattern?'
- print 'Text: %r\n' % text
- for regex in regexes:
- print 'Seeking "%s" ->' % regex.pattern,
- if regex.search(text):
- print 'match!'
- else:
- print 'no match'
输出:
Text: 'Does this text match the pattern?'
Seeking "this" -> match!
Seeking "that" -> no match
模块级函数会维护已编译表达式的一个缓存。不过,这个缓存的大小是有限的,直接使用已编译表达式可以避免缓存查找开销。使用已编译表达式的另一个好处是,通过在加载模块是预编译所有表达式,可以把编译工作转到应用开始时,而不是当程序响应一个用户动作是才进行编译。
上一篇: python编写过滤指定字符的文本
下一篇: python特殊函数之lambda和ma
47881
46450
37333
34773
29347
26008
24961
19979
19582
18075
5821°
6449°
5962°
5988°
7093°
5937°
5981°
6472°
6437°
7818°