Python教程

正则表达式 python

本文主要是介绍正则表达式 python,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

. 匹配任意一个字符(除了\n)
[] 匹配【】中列举的字符
\d 匹配数字,即0-9
\D 匹配非数字,即不是数字
\s 匹配空白,即空白+tab键
\S 匹配非空白
\w 匹配单词字符,即a-z,A-Z,0-9,_
\w(大写) 匹配非单词字符


匹配多个字符
* 匹配前一个字符出现0次或者无限次,即可有可无
+ 匹配前一个字符出现1次或者无限次,即至少有1次
? 匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m} 匹配前一个字符出现m次
{m,n} 匹配前一个字符出现从m到n次


匹配开头结尾
^ 匹配字符串开头
$ 匹配字符串结尾


匹配分组
| 匹配左右任意一个表达式
(ab) 将括号中字符作为一个分组
\num 引用分组num匹配到的字符串
(?p<name>) 分组起别名
(?P=name) 引用别名为name分组匹配到的字符串


python专用方法re
search       import re
                  ret = re.search(r"\d+","阅读次数为 999”)
                   ret.group() #匹配文章的阅读次数 输出为:999

findall         import re
                   ret = re.findall(r"\d+","python=999,c=100,c++=144")
                   print(ret) #运行结果:["999","100","144"]

sub               #coding=utf-8 {将匹配到的数据进行替换}
                    import re
                    ret = re.sub(r"\d+", "998","python=777")
                    print(ret) #结果为:python=998

split 根据匹配进行切割字符串,返回一个列表

#coding=utf-8
import re
ret = re,split(r" : | ","info:ziaozhuang 33 shandong")
print(ret) #运行结果["info","xiaozhang”,"33","shandong"]

这篇关于正则表达式 python的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!