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

Python合集之Python正则表达式(一),第1张

概述  在处理字符串时,经常会有查找符合某些复杂规则的字符串的需求。正则表达式就是用于描述这些规则的工具。1.行定位符行定位符就是用来描述字符串的边界,“^”表示行的开始,“$”表示行的结尾。^tm该表达式表示要匹配字符串tm的开始位置是行头,如:“tmequalTomorrowMoom”

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

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合集之Python正则表达式(一)全部内容,希望文章能够帮你解决Python合集之Python正则表达式(一)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1189084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存