python通配符
原子
1. /w 任意一个字母,数字,下划线; /W与/w相反
2. /d 任意一个数字;
3. /s 任意一个空白字符;
4. [abcd] 中括号中的abcd是同一个地位,a,b,c,d出现一次;平等的原子;
元字符
. 任意一个字符
^ 字符串的开始
$ 字符串的结束
* 匹配前面字符出现0次,1次,或多次;
? 匹配前面字符出现0次,1次;
+ 匹配前面字符出现1次,多次;
大括号{n} 表示前面字符出现n次。比如:a{3},a字符连续出现3次;
{n,m}表示前面字符出现至少n,最多m次
a|b 出现a或者b
() 提取
模式修正符
re.I 不区分大小
re.M 多行匹配,修改'^'与'$'的行为
L
U 根据unicode匹配
re.S 修改'.'的行为,点任意匹配模式
正则表达式函数
re.match(pattern, string) 从字符串头开始匹配,如果头不匹配直接返回None
re.search(pattern, string, re.S) 从字符串中搜索,只能返回一个结果
re.sub
re..complie(pattern, re.S).findall(string)
懒惰模式,尽可能少匹配;比如 pat1=p.*?y
贪婪模式,尽可能多匹配:常规是贪婪模式,比如 pat2=p.*y
匹配网址正则表达式
pat=“[a-zA-Z]+://[^\s]*[.com|.cn]”
匹配电话号正则表达式