标签:find 去除 增加 元字符 特殊 结束 str pytho 通配符
一.简介
用于string的模糊匹配,而string内置的方法是精确匹配。
二.字符匹配
1 普通字符
用于精确匹配
2 元字符
. ^ $ * + ? { } | ( ) \
. 通配符除\n其余均可匹配
^ 位置匹配,表示开始 $ 表示结束
import re ret=re.findall("^af","afghaf") print(ret) ret=re.findall("af$","afdfggaf") print(ret)
*,+,?,{}均表示重复次数
* 0~+oo
+ 1~+oo
? 1或0
{n,m} 表示n~m次 {1,}表示1到正无穷
[ ]一次只能匹配一个,可以表示一个匹配集,又有取消元字符的功能
[ ]中的特殊字符:\ ^取反 -表示范围
import re ret = re. findall( "[^4,5]" , "dgg4ffd5dd" ) print(ret) ret = re. findall("[^a-z,4,5]" ,"sccf5673374" ) print(ret)
\:后面跟元字符,去除其特殊化,后面跟普通字符,增加特殊功能。
\d \D 表示数字 [0-9] \s \S表示空白字符[\t\n\r\f\v]
\w \W表示[a-zA-Z0-9] \b匹配一个特殊字符的边界,而不是匹配特殊字符(这里的特殊字符是非字母和数字的)
import re ret = re.findall(r "I\b","hello I am a LI$T") print(ret) ret = re.findall("a\\\\","a\sgvff")#匹配反斜杠 print(ret)
四个反斜杠,Python解释一个\需要2个\,re模块对这2个\进行转义要4个\。
( ):表示分组
import re ret = re.search("(?p<id>\d{11}),(?p<name>[a-z]*) ","1445676556777567785ffhtfcg6") ret1=ret.group("id") ret2 = ret.group("name") print(ret1,ret2)
|:表示或者用于分组
标签:find 去除 增加 元字符 特殊 结束 str pytho 通配符
原文地址:https://www.cnblogs.com/gjx1212/p/11731395.html