python 正则表达式规则收集
python正则表达式基本元字符
-
. 通配符,匹配所有字符
-
^abc 匹配以abc开始的字符串
-
abc$ 匹配以abc结尾的字符串
-
[abc] 匹配字符集合
-
[A-Z0-9] 匹配字符范围
-
ed|ing|s 匹配指定的字符串,诸如ed或者ing或者s
-
* 前面项目0个或者多个,如a*/[a-z]* (也叫Kleene闭包)
-
+ 前面项目1个或者多个,如a+、[a-z]+
-
? 前面项目0个或者1个,如a?、[a-z]?
-
{n} 重复n次
-
{n,} 至少重复n次
-
{,n} 重复不多于n次
-
{m,n} 至少重复m次不多于n次
-
a(b|c)+ 括号表示操作符的范围
-
正则表达式符号:
-
\b 词边界
-
\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]
-
\t 制表符
-
\n 换行符
相关正则知识:
-
\d 匹配一个数字
-
\w 匹配一个字母或者数字
-
* 任意个字符(包括0个),
-
+ 至少一个字符
-
? 0个或1个字符
-
{n} n个字符
-
{n,m} n-m个字符
-
\s 匹配一个空格
-
\s+ 至少有一个空格
-
\d{3,8} 表示3-8个数字,例如'1234567'
-
\d{3}\s+\d{3,8}
-
[0-9a-zA-Z\_] 匹配一个数字、字母或者下划线
-
[0-9a-zA-Z\_]+ 匹配至少由一个数字、字母或者下划线组成的字符串,
-
比如'a100','0_Z','Py3000'等等;
-
[a-zA-Z\_][0-9a-zA-Z\_]*可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量
-
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)
-
A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'
-
^表示行的开头,^\d表示必须以数字开头
-
表示行的结束,\d
-
表示必须以数字结束
参考自:微信公众号,数据挖掘入门与实战