2025年6月4日 星期三 乙巳(蛇)年 三月初八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

Python 中的正则表达式

时间:12-14来源:作者:点击数:7

在 Python专门术语中,有两种主要方法完成模式匹配:搜索(searching)和匹配(matching)。搜索即在字符串任意部分中查找匹配的模式,而匹配是指,判断一个字符串能否从起始处全部或部分的匹配某个模式。搜索通过 search() 函数或方法来实现,而匹配是以调用 match() 函数或方法实现的。

元字符(metacharacters)——特殊字符和符号

记号 说明 例子
literal 匹配字符串的值 foo
re1|re2 匹配re1或re2 boo|bar
. 匹配任何字符(换行符除外) b.b
^ 匹配字符串的开始 ^Dear
$ 匹配字符串的结尾 /bin/*sh$
* 匹配前面的正则式零或多次 [A-Za-Z0-9]*
+ 匹配前面的正则式一次或多次 [a-z]+\.com
? 匹配前面的正则式零次或多次 goo?
{N} 匹配前面的正则式N次 [0-9]{3}
{M, N} 匹配出现M次到N次的正则式 ·0-9[{5-9}
[...] 匹配出现的任意一个字符 [aeiou]
[...a-z..] 匹配出现在a到z的一个字符 [A-Za-z]
[^...] 不匹配出现的任何一个字符 [^aeiou]
(...) 匹配括号中RE,并保存为子组 ([0-9){3})
\d 匹配任何数字(\D反意) data\d.txtd
\w 匹配任何数字字母字符(\W反意)  
\s 匹配任何空白符(\S反意)  
\b 匹配单词边界(\B反意) \bThe\b
\c 逐一匹配特殊字符  
\A (\Z) 匹配字符串的起始(结束)

问号有两种含义

  • 单独使用时表示匹配出现零次或一次的情况
  • 紧跟在表示重复的元字符后面时,表示要求搜索引擎匹配的字符串越短越好。例如 (+?)

例子

正则表达式模式 匹配的字符串 \w+-\d+ 一个由字母或数字组成的字符串,和至少一个数字,两部分中间由连字符连接 [A-Za-z]\w* 第一个字符是字母,其余字符(如果存在的话),是字母或数字(它几乎等价于 Python 语言中合法的标识符 \d{3}-\d{3}-\d{4} (美国)电话号码,前面带区号前缀,例如 800-555-1212 \w+@\w+.com 简单的 XXX@YYY.com 格式的电子邮件地址 \d+(.\d*)? 表示简单的浮点数 Mr?s?. )?[A-Z][a-z]* [ A-Za-z-]+ 名字和姓氏,对名字的限制(首字母大写,其它字母(如果存在)小写),全名前有可选的称谓(“Mr.,”“Mrs.,” “Ms.,” 或 “M.,”),姓氏没有什么限制,允许有多个单词、横线、大写字母。

一对圆括号(()) 和正则表达式一起使用时可以实现以下任意一个(或两个)功能: * 对正则表达式进行分组 * 匹配子组

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐