Python:正则表达式(一)

来源:互联网 发布:观相 知乎 编辑:程序博客网 时间:2024/05/16 08:57

Python中re模块包含对正则表达式(regular expression)的支持。

什么是正则表达式

正则表达式是可以匹配文本片段的模式。最简单的正则表达式就是普通字符串,可以匹配其本身。

通配符

点号(.)可以匹配任何字符(除了换行符),举例说明正则表达式“.ython”可以匹配字符串“python”和“jython”“+ython”“ ython”(第一个字符是空格),但是不能匹配“cpython”或者“ython”这样的字符串,因为通配符只能匹配一个字符。

对特殊字符进行转义

首先思考一个问题,正则表达式“python.org”能够匹配字符串“python.org”吗?答案是肯定的,但是也存在一个问题,匹配字符串“pythonzorg”可以吗,答案也是肯定的,但是这并不是我们希望的。所以我们需要对特殊字符进行转义,使用“python\.org”或者原始字符串r”python.org”就可以匹配字符串“python.org”了。(母鸡这里为什么显示不出来,双斜线跟原始字符串的单斜线)

字符集

使用中括号括住字符串来创建字符集。字符集可以匹配它所包含的任意字符,例如“[pj]thon”可以匹配字符串“python”和“jython”,而不是其他内容。也可以使用范围,例如”[a-z]”能够匹配a到z的任意一个字符,另外还可以通过一个接一个的方式将范围联合起来使用,例如“[a-zA-Z0-9]”能够匹配任意大小写英文字母和0到9的任意一个阿拉伯数字。
另一个概念就是反转字符集,在开头使用^字符,例如“[^abc]”匹配的就是除了abc之外的任意字符。