Python标准库之re模块
re模块用于正则表达式。
正则表达式在线测试:http://c.runoob.com/front-end/854
正则表达式元字符可以参考:https://www.w3cschool.cn/zhengzebiaodashi/regexp-metachar.html
re.match()
从字符串开头往后匹配。
1 2 3 | import re x = re.match(r "asdjakd\d{4}" , "asdjakd1231" ) print (x.group())<br> #输出<br>asdjakd1231 |
re.search()
只会搜索一个结果。
1 2 3 | import re x = re.search( "\d{4}" , "1a23sd1231jakd1231" ) print (x.group())<br> #输出<br>1231 |
re.findall()
1 2 3 4 5 | import re x = re.findall( "\d{4}" , "1a23sd1231jakd1231" ) print (x) #输出 [ '1231' , '1231' ] |
re.split()
分割字符。
1 2 3 4 5 | import re x = re.split( "\d" , "abc1sdas2xxx" ) print (x) #输出 [ 'abc' , 'sdas' , 'xxx' ] |
re.sub()
替换字符
1 2 3 4 5 | import re x = re.sub( "\d" , "|" , "abc1sdas2xxx" ) print (x) #输出 abc|sdas|xxx |
如果想只替换一次。
1 2 3 | import re x = re.sub( "\d" , "|" , "abc1sdas2xxx" ,count = 1 ) print (x)<br> #输出<br>abc|sdas2xxx |
匹配模式
1 2 3 | re.I(re.IGNORECASE): 忽略大小写 re.M(MULTILINE): 多行模式 re.S(DOTALL): 点任意匹配模式,可以匹配\n |
分组匹配成字典
1 2 3 | import re x = re.search( "(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<year>[0-9]{4})(?P<birthday>[0-9]{4})" , "330623197501031922" ) print (x.groupdict())<br> #输出<br>{'province': '3306', 'city': '23', 'year': '1975', 'birthday': '0103'} |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步