re模块被称为正则表达式,其作用为,创建一个“规则表达式”,用于验证和查找符合规则的文本,广泛用于各种搜索引擎、账户密码的验证等。
预定义字符:
\d:匹配所有的十进制数字0-9
\D:匹配所有的非数字,包含下划线
\s:匹配所有空白字符(空格、TAB等)
\S:匹配所有非空白字符,包含下划线
\w:匹配所有字母、汉字、数字a-z A-Z 0-9
\W:匹配所有非字母、汉字、数字,包含下划线
特殊字符:
$:匹配一行的结尾(必须放在正则表达式最后面)
^:匹配一行的开头(必须放在正则表达式最前面)
*:前面的字符可以出现0次或多次(0~无限)
+:前面的字符可以出现1次或多次(1~无限)
?:变"贪婪模式"为"勉强模式",前面的字符可以出现0次或1次
.:匹配除了换行符"\n"之外的任意单个字符
|:两项都进行匹配
[ ]:代表一个集合,有如下三种情况
[abc]:能匹配其中的单个字符
[a-z0-9]:能匹配指定范围的字符,可取反(在最前面加入^)
[2-9] [1-3]:能够做组合匹配
{ }:用于标记前面的字符出现的频率,有如下情况:
{n,m}:代表前面字符最少出现n次,最多出现m次
{n,}:代表前面字符最少出现n次,最多不受限制
{,m}:代表前面字符最多出现n次,最少不受
{n}:前面的字符必须出现n次
正则表达式里 或 是 |
import res0 = 'BOY and GIRL'
s1 = re.sub(r'BOY|GIRL', 'HUMAN', s0)
print s1
# HUMAN and HUMAN