前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python正则表达式的部分特殊符号

python正则表达式的部分特殊符号

作者头像
Locker
发布2018-08-01 17:44:15
2.1K0
发布2018-08-01 17:44:15
举报
文章被收录于专栏:221-B221-B

\w - 匹配字母或数字或下划线或汉字(3.x版本可以匹配汉字,但2.x版本不可以) \s - 匹配任意的空白符 \b - 在正则表达式中表示单词的开头或结尾, 空格、标点、换行都算是单词的分割. 而“\b”自身又不会匹配任何字符, 它代表的只是一个位置. \d - 表示一个数字 ^ - 匹配字符串的开始 $ - 匹配字符串的结束 [ ] - 使用方括号,在正则表达式中, []表示满足括号中任一字符. 比如“[hi]”, 它就不是匹配“hi”了, 而是匹配“h”或者“i”.

\S其实就是\s的反义,任意不是空白符的字符。同理,还有:

\W - 匹配任意不是字母,数字,下划线,汉字的字符 \D - 匹配任意非数字的字符 \B - 匹配不是单词开头或结束的位置

[a]的反义是[^a],表示除a以外的任意字符。[^abcd]就是除abcd以外的任意字符。

*+{}用来表示字符的重复。其他重复的方式还有:

* - 表示任意数量连续字符,这种被称为通配符。但是在正则表达式中,’*’只表示数量,不表示字符. + - 与’*’类似,表示1或更多的数量 ? - 表示任意一个字符, 重复零次或一次 {} - 代替’+’,表示特定数量,限定长度 {n,} - 重复n次或更多次 {n,m} - 重复n到m次

正则表达式不只是用来从一大段文字中抓取信息,很多时候也被用来判断输入的文本是否符合规范,或进行分类。来点例子看看: ^\w{4,12}$ 这个表示一段4到12位的字符,包括字母或数字或下划线或汉字,可以用来作为用户注册时检测用户名的规则。(但汉字在python2.x里面可能会有问题)

\d{15,18} 表示15到18位的数字,可以用来检测身份证号码

^1\d*x? 以1开头的一串数字,数字结尾有字母x,也可以没有。有的话就带上x。

另外再说一下之前提到的转义字符\。如果我们确实要匹配.或者*字符本身,而不是要它们所代表的元字符,那就需要用\.\*\本身也需要用\\。 比如"\d+\.\d+"可以匹配出123.456这样的结果。

\bs\S*?e\b从下面一段文本中,匹配出所有s开头,e结尾的单词。

site sea sue sweet see case sse ssee loses

r,是raw的意思,它表示对字符串不进行转义。为什么要加这个?你可以试试print "\bhi"r"\bhi"的区别。

>>> print “\bhi” hi >>> print r”\bhi” \bhi

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档