Python-正则

一:字符组

使用[],表示同一个位置可以匹配的字符

[0-9] :可以匹配到数字(同一位置)

[a-z]:可以匹配小写字母

[A-Z]:可以匹配大写字母

[A-Za-z0-9] 可以匹配大小写字母和数字

 

二:元字符

.  可以匹配出了换行符以外的任意字符

\w 可以匹配数字,字母和下划线

\s  可以匹配任意空白符

\d 可以匹配数字

\n 可以匹配换行符

\t 可以匹配制表符

^ 匹配字符串的开始

$ 匹配字符串的结尾

\W 与\w相反,匹配非数字,字母,下划线

\D 与\d相反,匹配非数字

\S 与\s相反,匹配非空白符

a|b 匹配a或b

() 匹配括号内的表达式,也表示一个组  对多个字符组整体约束。

[...] 匹配字符组里的字符

[^....] 匹配非字符组里的字符

|   从左到右匹配,左边匹配到了,右边就不匹配了,将长的放左边。

 、三:量词

* 重复0次或更多次  {0,}

+ 重复一次或更多次 {1,}

?重复0次或1次 {1,0}

{n} 重复n次 {n}

{n,} 重复n次,或更多次

{n,m}重复n次到m次

 

 

转义:

如果待匹配的字符串里有特殊字符,在正则和字符串的前面加r

如果特殊字符在字符组里,就是匹配的特殊字符,但是为了好记,所有特殊字符在匹配的时候都转义。

 

贪心和惰性匹配

在量词后加?就可以惰性匹配      .*?x

 

posted @ 2019-01-23 09:31  择一事,终一生  阅读(197)  评论(0编辑  收藏  举报