可爱的 Python:Python中的文本处理
2007-03-29 12:01:33 来源:WEB开发网核心提示: 规则表达式很复杂,也许有人会撰写关于这个主题的书,可爱的 Python:Python中的文本处理(7),但实际上,已经有许多人这样做了!本文尝试捕捉规则表达式的“完全形态”,可以通过将类括在方括号内来表明这是一个类;在括号中,可以有一组字符或者用破折号指定的字符范围
规则表达式很复杂。也许有人会撰写关于这个主题的书,但实际上,已经有许多人这样做了!本文尝试捕捉规则表达式的“完全形态”,让读者可以掌握它。
规则表达式是一种很简练方法,用于描述可能在文本中出现的模式。是否会出现某些字符?是否按特定顺序出现?子模式是否会重复一定次数?其它子模式是否会排除在匹配之外?从概念上说,似乎不能用自然语言了直观地描述模式。诀窍是使用规则表达式的简洁语法来编码这种描述。
当处理规则表达式时,将它作为它自己的编程问题来处理,即使只涉及一或两行代码;这些行有效地构成了一个小程序。
从最小处着手。从最基本上看,任何规则表达式都涉及匹配特定的“字符类”。最简单的字符类就是单个字符,它在模式中只是一个字。通常,您希望匹配一类字符。可以通过将类括在方括号内来表明这是一个类;在括号中,可以有一组字符或者用破折号指定的字符范围。还可以使用许多命名字符类来确定您的平台和国家语言。以下是一些示例:
字符类
>>>
import
re
>>> s =
"mary had a little lamb"
>>>
if
re.search(
"m", s):
print
"Match!"
# char literal
Match!
>>>
if
re.search(
"[@A-Z]", s):
print
"Match!"
# char class
...
# match either at-sign or capital letter
...
>>>
if
re.search(
"d", s):
print
"Match!"
# digits class
...
更多精彩
赞助商链接