正则表达式,又称规则表达式。
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及他们的组合组成了一个规则,然后检查一个字符串是否与这种规则匹配来实现对字符的过滤或匹配。正则表达式是字符串处理的有力工具,但是并不是Python独有的,其他语言也有。在Python中,re模块提供了正则表达式操作所需要的功能。
元字符:元字符是一个或一组代替一个或多个字符的字符。元字符*用来匹配0个或多个的前一字符;而元字符.用来匹配一个任意的一个字符(除换行符外)。
下面是正则表达式的元字符:
. | 匹配除换行符以外的任意字符 |
---|---|
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
1.“.”:表示除换行符以外的任意字符
(“\S”,表示不是空白符的任意字符。)
2.“[]”:指定字符集
常用来指定一个字符集,例如:[abc]、[a-z]、[0-9];
元字符在方括号中不起作用,例如:[akm$]和[m.]中元字符都不起作用;
方括号内的“^”表示补集,匹配不在区间范围内的字符。
3.“^”:匹配行首,匹配以^后面的字符开头的字符串
4.“$”:匹配行尾,匹配以$之前的字符结束的字符串
5.“\”:反斜杠后面可以加不同的字符以表示不同的特殊意义
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
6.“*”:匹配位于*之前的字符或子模式的0次或多次出现
7.“+”:匹配位于+之前的字符或子模式的1次或多次出现
8.“?”:匹配位于?之前的0个或1个字符
9.“{m,n}”:表示至少有m个重复,至多有n个重复。m,n均为十进制数