python中的re模块

如何用Python来进行查询和替换一个文本字符串?

可以使用re模块中的sub()函数或者subn()函数来进行查询和替换,
格式:sub(replacement, string[,count=0])(replacement是被替换成的文本,string是需要被替换的文本,count是一个可选参数,指最大被替换的数量)

>>> import re
>>>p=re.compile(‘blue|white|red’)
>>>print(p.sub(‘colour’,'blue socks and red shoes’))
colour socks and colourshoes
>>>print(p.sub(‘colour’,'blue socks and red shoes’,count=1))
colour socks and redshoes
print(p.subn('colour','blue socks and red shoes'))
('colour socks and colour shoes', 2)
print(p.subn('colour','blue socks and red shoes',count=1))
('colour socks and red shoes', 1)

subn()方法执行的效果跟sub()一样,不过它会返回一个二维数组,包括替换后的新的字符串和总共替换的数量

Python里面match()和search()的区别?

re模块中match(pattern,string[,flags]),检查string的==开头==是否与pattern匹配,这个是全匹配,但是只要是在开头匹配就行。
re模块中re.search(pattern,string[,flags]),在string搜索pattern的第一个匹配值,而且是对当前的字符串的全匹配。

<_sre.SRE_Match object; span=(0, 5), match='super'>
>>>print(re.match(‘super’, ‘superstition’).span())
(0, 5)
>>>print(re.match(‘super’, ‘insuperable’))
None
>>>print(re.search(‘super’, ‘superstition’).span())
(0, 5)
>>>print(re.search(‘super’, ‘insuperable’).span())
(2, 7)
print(re.search('super','msuperstition'))
<_sre.SRE_Match object; span=(1, 6), match='super'>
正则表达式.jpeg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 天空笑着 在广博的蓝色里 毫无察觉 残云的忧郁淤积 天空笑着 在灿烂的阳光下 毫无察觉 阴云下歇斯底里 美好的美好...
    青春左岸阅读 548评论 0 0
  • 境由心生 这句话何其简单 何其复杂 心情好坏影响人们看景物的美丑 心态很重要 佛说:“物随心转,境由心造,烦恼皆心...
    米米是超人阅读 230评论 1 0
  • 大家都喜欢呆着,有时候我觉得有些人真的挺可怜的,但是我确实发现有些人不值得可怜。其实我想每个人都喜欢呆着,不过有句...
    洛茴阅读 189评论 0 0
  • 毒品是一个非常可怕的词汇,尽管它离我们的生活很远,却需要大力提防。因为毒品背后巨大的利益关系,很多人挺而走险做起了...
    耕耘生活阅读 440评论 1 10