元字符

.      通配符除了\n

^     以什么开始的匹配

$     以什么结尾的匹配

*     重复前一个条件,最少0个,[0,∞]

+     重复前一个条件,最少1个,[1,∞]

?   重复前面的条件,最少0个,最多1个[0,1]

{x}  重复前面的x次,x为数字,{x,y}最少x次,最多y-1次,{x,}最少x次,最多不限

|     或的意思

\ 反斜杠后跟元字符去除特殊功能

    \. 就是匹配点.

    \+ 匹配+

    \\\\ 匹配\ 等于 r“\\"

    r是代表原生字符,不需要python转义就传入re

  反斜杠后跟普通字符实现特殊功能

    \d 代表数字0-9  [0-9]

    \D 代表非数字0-9 [^0-9]

    \s 代表匹配空白字符[\t\n\r\f\v] 

    \S 代表匹配非空白字符 [^\t\n\r\f\v]

    \w 代表匹配非空白字符[a-zA-Z0-9]

    \W 代表匹配非非字母和数字[^a-zA-Z0-9]

    \d 代表匹配一个特殊边界,如匹配单词

字符集

[ ]代表字符集

    [a,b,c] 匹配a或b或c中任意一个

    [a-z]   匹配a到z中的任意小型字母 [A-Za-z0-9]

     - 代表什么到什么之间

    ^取反的意思,非

    \ 将特殊符号转换成普通字符

    注:字符集内取消元字符的特殊功能(\ ^ -除外)

    [a-z,*] 匹配a-z的字母或*号,还有,号

    [^a-z] 匹配非a-z的字母的所有

分组

  ()代表分组

    (1|2)  匹配1或2的字符

    (?P<id>\w) 匹配一个字母或数字 这个组的名称是ID

    (:?\d+) 取消分组的权限

正则表达式方法

    findall(规则,字符串) 寻找所有满足规则的元素

    search(规则,字符串) 寻找第一个满足规则的元素并返回一个对象,配合group()显示匹配出的内容

    match(规则,字符串) 只在开始匹配规则,满足返回对象,不满足返回None

    split(规则,字符串) 通过规则分割字符串 注:先匹配第一个,并分割,再从第一个分割后的匹配第二个,并分割。。。

    sub(规则,新内容,字符串) 通过规则匹配字符串内容,并把匹配结果替换成新内容

    compile(规则) 将规则封装一个对象中,下次可以直接用对象查询,不需要输规则

    finditer(规则,字符串)将查找的结果成一个迭代器,使用next方法取,每个内容用group再取数