1.原子
a.普通字符作为原子
b.非打印字符作为原子
c.通用字符作为原子
\w 字母,数字,下划线
\W 除 字母,数字,下划线
\d 十进制数
\D 除 十进制数
\s 空白字符
\S 除 空白字符
d.原子表
就是将原子组合。[twz]在其中选取一个.
加一个^就是非。
2.元字符
就是正则表达式中具有特殊含义的字符。比如重复前面的字符n次等。
. 匹配除换行以外的任意字符
^不在原子表中就是匹配字符串开始,在原子表中就是非
$ 匹配介素位置
乘* 前面的原子出现0,1,多次
问?前面的原子,0,1次
加+ 出现1次或者多次
{n } 前面原子出现n次。
{n,}前面原子至少出现n次
{n,m}前面的原子至少n,至多m次。
| 模式选择符或
() 模式单元。
3.模式修正符
不改变正则表示式情况下,通过模式修正符改变表达式的含义。
I 匹配时候忽略大小写
M 多行匹配
L 本地化识别匹配
U unicode
S 让.匹配包括换行符号。
4.正则表达式函数
re.match 从头开始匹配,re.search(), re.compile(正则).findall(字符串)全局匹配函数,re.sub()函数。
match 从头开始匹配,不是从头就不行。
re.compile(正则).findall(字符串)全局匹配函数
re.sub()替换。
5.实例
1.匹配网址
2.匹配电话号码