设为首页 收藏本站
查看: 1425|回复: 0

[经验分享] python学习 正则表达式

[复制链接]
YunVN网友  发表于 2018-8-14 09:53:15 |阅读模式
# -*- config=utf-8 -*-#正则表达式#1、处理文本和数据#2、是对字符串操作的一种逻辑公式import re;#Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,# 然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。pattern=re.compile(r"hello");  
match=pattern.match("hello Word");if match:    print(match.group());#==================  .匹配任意字符(除了\n)===========================ma=re.match(r"a","a");#只想匹配aprint(ma.group());#返回 a  如果匹配失败则为空ma1=re.match(r".","d");print(ma1.group());# 返回 dma2=re.match(r"{.}","{c}");# 匹配大括号中任意字符(除了\n)print(ma2.group());#=================== [...] 匹配任意字符集===================ma3=re.match(r"{[abc]}","{a}");#匹配大括号abc中任意字符print(ma3.group());
  
ma4=re.match(r"[a-z]","b");#匹配a-z 小写任意字符print(ma4.group());
  
ma5=re.match(r"[a-zA-Z]","F");#匹配 a-z 任意a字符print(ma5.group());
  
ma6=re.match(r"[a-zA-Z0-9]","8");#匹配任意字母与数字print(ma6.group());#================== \w 匹配任意单词字符 =================ma7=re.match(r"[\w]","4");  #print(ma7.group());#=====================\W 任意非单词字符 =========================ma8=re.match(r"[\W]","*");print(ma8.group());#===================\d 匹配数字===================ma9=re.match(r"[\d]","3"); #等于[0-9]print(ma9.group());#==================== \D 匹配非数字========================ma9=re.match(r"[\D]","(");print(ma9.group());#======================\s 匹配空格=======================ma10=re.match(r"[\s]"," ");print(ma10.group());#======================\S 匹配非空格=======================ma11=re.match(r"[\S]","撒");print(ma11.group());#========================= \ 转义=========================ma12=re.match(r"\[[\w]\]","[2]");#匹配中括号中任意字符print(ma12.group())#=============================# -*- config=utf-8 -*-import re;#=================* 匹陪前一个字符 0次或无限次==========ma=re.match(r"[A-Z][a-z]","Aa");print(ma.group());#Aama1=re.match(r"[A-Z][a-z]*","Fdsdasd22");#[a-z]无限多个print(ma1.group());#Fdsdasd#================== + 匹配前一个字符一次或无限次============ma2=re.match(r"[_a-zA-Z]+[_\w]*","_dasd");#匹配 _ 或者字母开头的任意字符print(ma2.group());#=================== ?匹配前一个字符0次或1次=========================ma3=re.match(r"[1-9]?[0-9]","10");#匹配一个正两位数包括0print(ma3.group());
  
ma4=re.match(r"[1-9]?[0-9]","08");#print(ma4.group());#0#====================== {m}匹配前一个字符m次 ========================ma5=re.match(r"[0-9]{6}","1313123");#匹配0-9任意字符6次print(ma5.group());#131312#====================== {m,n}匹配前一个字符m-n次 ====================ma6=re.match(r"[a-zA-Z0-9]{3,20}@163.com","jalja365@163.com");#匹配163邮箱print(ma6.group());#=============== *? +? ??尽可能的少匹配===================ma7=re.match(r"[0-9][a-z]*","2we");print(ma7.group());#2wema8=re.match(r"[0-9][a-z]*?","2we");print(ma8.group());#2ma9=re.match(r"[0-9][a-z]+?","2we");print(ma9.group());#2wma10=re.match(r"[0-9][a-z]??","2we");print(ma10.group());#2w#========================================# -*- config=utf-8 -*-import re;#===================== search(pattern,String,flags=0)在一个字符串中查找匹配 ===================str1="jalja_365—1321";
  
ma=re.search(r"\d+",str1);#获取字符串中第一次出现的数字print(ma.group());#365#=================findall(pattern,String,flags=0)返回所有匹配部分的列表===================str2="java=90,python=99,c==300";
  
ma2=re.findall(r"\d+",str2);print(ma2);# ['90', '99', '300'] 获取所有的数字  以列表的形式返回num=sum([int(x) for x in ma2]);#求列表所有元素的和#==================sub()将字符串中匹配正则的字符替换成新的字符串=====================str3="java=99";
  
ma3=re.sub(r"\d+","100",str3);print(ma3);#java=100#使用函数def add_1(match):#match 是macth对象即sub()的第一个参数
  
    val=match.group();    print(val);    return str(int(val)+1);
  
ma4=re.sub(r"\d+",add_1,str3);print(ma4);#java=100#==============split()根据匹配规则分割字符串返回列表====================str4="jalja:c c++ java Python js,c#";
  
ma5=re.split(r":| |,",str4);print(ma5);#['jalja', 'c', 'c++', 'java', 'Python', 'js', 'c#']

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-551489-1-1.html 上篇帖子: Python2input和raw_input和区别和Python3input的区别 下篇帖子: Python学习汇总
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表