Python 正则表达式 字符串的匹配、替换、分割、查找 - Go语言中文社区

Python 正则表达式 字符串的匹配、替换、分割、查找


1、search(pattern, string, flags=0)      在一个字符串中查找匹配

2、findall(pattern, string ,flags=0)     找到匹配,返回所有匹配部分的列表

3、sub(pattern, repl, string , count=0, flags=0)    将字符串中匹配正则表达式的部分替换为其他值

4、split(pattern, string ,maxsplit=0, flags=0)  根据匹配分割字符串,返回分隔符串组成的列表

用法:

In [1]: import re  
  
In [2]: str1='imooc video=1000'  
  
In [3]: str1.find('1000')#可以查找出索引值  
Out[3]: 12  
  
In [4]: str1='imoocvideo=1000'  
  
In [5]: str1.find('1000')  
Out[5]: 11  
  
In [6]: info=re.search(r'd+',str1)#'d'代表任意一个数字,'+'可以匹配数字一次或者无限次,只能匹配最前面的  
  
In [7]: info  
Out[7]: <_sre.SRE_Match at 0xb6bf9b48>  
  
In [8]: info.group()  
Out[8]: '1000'  
  
  
  
In [1]: import re  
  
In [2]: str1='java=1000,python=9090'  
  
In [3]: info=re.findall(r'd+',str1)#找到所有匹配的字符串,并把它们放到一个列表中  
  
In [4]: info  
Out[4]: ['1000', '9090']  
  
In [5]: sum([int(x) for x in info])  
Out[5]: 10090  
  
  
  
  
  
In [25]: def add1(match):#传入的match是一个字符串对象,  
   ....:     val=match.group()#匹配的字符串  
   ....:     num=int(val)+1 #强制转换  
   ....:     return str(num)#强制转化  
   ....:  
In [28]: info=re.sub(r'd+',add1,str4)#sub就是替换字符串和函数  
  
In [29]: info  
Out[29]: 'python video =10001'  
   
  
In [35]: str6='imooc:java c++ python c#'  
 In [36]: re.split(r':| ',str6)#split用来分割字符串,':|'的意思是只要看见冒号和空格就会分割成一部分  
Out[36]: ['imooc', 'java c++ python c#']  
In [37]: re.split(r':| ',str6)  
Out[37]: ['imooc', 'java', 'c++', 'python', 'c#']  














版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u011138533/article/details/62904006
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 21:30:28
  • 阅读 ( 896 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢