ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python合集之Python正则表达式(一)

2021-03-02 23:02:56  阅读:295  来源: 互联网

标签:字符 匹配 Python gle 正则表达式 mr 字符串 合集 表达式


    在处理字符串时,经常会有查找符合某些复杂规则的字符串的需求。正则表达式就是用于描述这些规则的工具。

1.行定位符

行定位符就是用来描述字符串的边界,“^”表示行的开始,“$”表示行的结尾。

^tm

该表达式表示要匹配字符串tm的开始位置是行头,如:“tm equal Tomorrow Moom”可以匹配,而“Tomorrow Moon equal tm”则不匹配。但使用:

tm$

后者可以匹配而前者不能匹配。如果要匹配的字符串可以出现在字符串的任意部分,那么可以直接写成下面的格式:

tm

2.元字符

除了前面介绍的元字符 “^”和“$”,正则表达式里还有更多的元字符,例如:

\bmr\w*\b

上面的正则表达式用于匹配以字母mr开头的单词,先从某个单词开始处(\b)然后匹配字母mr,接着是任意数量的字母或数字(\w*)最后单词结束处(\b)该表达式可以匹配“mrsoft”、“\nmr”、“mr123456”等,但不能与“amr”匹配。

代码 说明 举例
. 匹配除换行符以外的任意字符 .可以匹配“mr\nM\tR”中的m、r、M、\t、R
\w 匹配字母、数字、下划线和汉字 \w可以匹配“m中7\rn”中的“m、中、7、r”,但不能匹配“\n”
\W 匹配除了字母、数字、下划线或汉字以外的字符 \W可以匹配“m中7\rn”中的“\n”,但不能匹配“m、中、7、r”
\s 匹配单个的空白符(包括TAB键和换行符) \s可以匹配“mr\tMR”中的“\t”
\S 除单个空白符(包括Tab键和换行符)以外的所有字符 \S可以匹配“mr\tMR”中的“m 、r、 M、 R”
\b 匹配单词的开始或结束,单词的分界符通常是空格,标点符号或者换行

在"I like mr or am"字符串中,\b m与mr中的m相匹配,但与am中的m不匹配

\d 匹配数字 \d可以匹配“m7ri”中的“7”

3.限定符

在上面的例子中,使用(\w*)匹配任意数量的字母或数字,如果想要匹配特定数量的数字,该如何表示呢?正则 表达式为我们提供了限定符(指定数量的字符)来实现此功能,如匹配8位QQ号可以使用如下的表达式:

^\d{8}$
限定符 说明 举例
? 匹配前面字符零次或者一次 colou?r,该表达式可以匹配colour和color
+ 匹配前面的字符一次或多次 go+gle,该表达式可以匹配的范围从gogle到goo...gle
* 匹配前面的字符零次或多次 go*gle,该表达式可以匹配的范围从ggle到goo...gle
{n}

匹配前面的字符n次

go{2}gle,该表达式只匹配google
{n,}

匹配前面的字符最少n次

go{2,}gle,该表达式可以匹配的范围从google到goo...gle
{n,m} 匹配前面的字符最少n次,最多m次 employe{0,2},该表达式可以匹配employ,employe、employee

花絮:

本期的Python 字符串正则表达式就分享到这里,下期我们将继续分享Python字符串正则表达式的相关知识,感兴趣的朋友可以关注我。

同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

 

标签:字符,匹配,Python,gle,正则表达式,mr,字符串,合集,表达式
来源: https://www.cnblogs.com/a-mumu/p/14471954.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有