正则表达式使用到的是re模块
import re 即可开始调用正则表达式。常用的正则有如下字符:
. ^ $ * + ? {} [] \ | (). 匹配任意除\n以外的字符,在DOTALL模式中也能匹配换行符。
^ 匹配字符串开头,在多行模式中匹配每一行的开头。
[^] 匹配的是不包含某些字符串的内容。
$ 匹配以某字符串结尾的内容。
* 匹配0个或者多个任意字符。
+ 匹配1个或者多个任意字符。
? 匹配0个或者1个任意字符。
{} 匹配的内容可以和 * + ?类似,比如:
{0,} == *
{1,} == +
{0,1} == ?
{m,n} 匹配前一个字符m~n次。
{m} 匹配前一个字符m次。
[] 字符集,对应的位置可以是在字符集中任意字符,字符集中的字符可以组个列出,也可以给出范围,如[abc]或者[a-c]。
第一个字符如果是^则表示取反,如 [^abc] 表示不是abc的其他字符。
\ 转义字符,使后一个字符变为原来的意思。
| 代表左右表达式任意匹配一个即可。
( ) 被括起来的表达式作为分组,从表达式左边开始遇到每一个分组的左括号'(',编号+1。 另外分组表达式作为一个整体,
可以后接数量词。表达式中的| 仅在该组中有效。
(?P...) 分组,除了原有的编号外再指定一个额外的别名。 (?Pabc){2}
\d:匹配任何十进制数,相当于[0-9]
\D:匹配任何非数字字符,相当于[0-9]
\s:匹配任何空白字符,相当于[\t\n\r\f\v]
\S:匹配任何非空白字符,相当于[^\t\n\r\f\v]
\w:匹配任何字母数字字符,相当于[a-zA-Z0-9]
\W:匹配任何非字母数字字符,相当于[^a-zA-Z0-9]