正则表达式语法
发布时间:2020-12-13 22:02:55 所属栏目:百科 来源:网络整理
导读:#!/usr/bin/envpython#-*-coding:utf-8-*-importredefre_pattern_syntax():#dot,caret,$#*/+/?#*表示匹配0个到都哦个#ab+表示匹配1个或多个的b#?表示匹配0到1个printre.match(r'.*','abcnedf').group()#点表示任意一个字符,*任意多少个,只能匹配一行字
#!/usr/bin/envpython #-*-coding:utf-8-*- importre defre_pattern_syntax(): #dot,caret,$ #*/+/? #*表示匹配0个到都哦个 #ab+表示匹配1个或多个的b #?表示匹配0到1个 printre.match(r'.*','abcnedf').group() #点表示任意一个字符,*任意多少个,只能匹配一行字符,碰到表示换行符号不再匹配 printre.match(r'.*','abcedf',re.DOTALL).group() #通过加re.DOTALL,这个点不仅仅表示任意字符还可以表示换行符 printre.findall(r'^abc','abchabc') printre.findall(r'^abc','abchabc',re.MULTILINE) #re.MULTILINE把字符串当多行来处理,碰到回车符当另外一行处理 printre.findall(r'abcd$','abc1habc2')#$表示匹配一个字符串的结束 printre.findall(r'abcd$','abc1habc2',re.MULTILINE)#$表示匹配一个行的结束 printre.match(r'ab*','a') printre.match(r'ab+','abd') printre.match(r'ab?','abc').group() #greedy/non-greedy贪婪和非贪婪 #{m}匹配次数 #转义字符用来匹配特殊字符 #[]集合 s='<H1>title</H1>' printre.match(r'<.+>',s).group()#默认用贪婪模式匹配 printre.match(r'<(.+)>',s).group(1)#基于贪婪模式,打印出它的group printre.match(r'<(.+?)>',s).group()#表示用非贪婪模式匹配任意字符 printre.match(r'<(.+?)>',s).group(1) printre.match(r'ab{2,4}','abbbbbb').group()#这样也是属于贪婪模式尽量的匹配多 printre.match(r'ab{2,4}?','abbbbbb').group()#这样是非贪婪模式匹配,尽量匹配少 printre.search(r'','Thepriceis$9.9').groups()#若要匹配$匹配符号,不加、当作结束符号来处理, printre.search(r'$','Thepriceis$9.9').groups() printre.search(r'0[xX]([0-9A-Fa-f]{6})','Thehexvalueis0xFF03D6').groups() if__name__=='__main__': re_pattern_syntax() ####一些特殊字符的使用 #!/usr/bin/envpython #-*-coding:utf-8-*- importre defre_pattern_syntax(): #number表示前一个匹配组 printre.search(r'(d)(d)(d)123','135135').groups() printre.search(r'(d)(d)(d)123','135135').groups() printre.search(r'(d{3})1','135135').groups() #dD匹配一个连字符匹配非连字符 #b匹配单词的开头和结尾 printre.search(r'(d{3}-d{4}-d{4})','157-5923-2692').groups() printre.search(r'(d{3}-d{4}-d{4})','157-5923-2692').groups() printre.search(r'b(d{3}-d{4}-d{4})b','157-5923-2692').groups()#不合法的是无法匹配出来的 printre.search(r'(d{3}Dd{4}Dd{4})','157-5923-2692').groups() #sS空格非空格f换页v垂直制表 printre.search(r'(d{3}sd{4}sd{4})','157059232692').groups() printre.search(r'(d{3}Sd{4}Sd{4})','1570-5923-2692').groups() #wW匹配字符和非字符 printre.match(r'(w+)s*:s*(w+)','Name:Joey').groups() #或略大小写 printre.match(r'(Name)s*:s*(w+)','NAME:Joey',re.IGNORECASE).groups() #re.VERBOSE注释/re.compile s='thenumberis20.33' r=re.compile(r''' d+#整数部分 .?#小数部分 d*#小数部分,可选 ''',re.VERBOSE) printre.search(r,s).group() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |