正则表达式
2018-06-18 02:59:01来源:未知 阅读 ()
字符
|
功能
|
.
|
匹配任意1个字符(除了\n)
|
[ ]
|
匹配[ ]中列举的字符
|
\d
|
匹配数字,即0-9
|
\D
|
匹配非数字,即不是数字
|
\s
|
匹配空白,即 空格,tab键
|
\S
|
匹配非空白
|
\w
|
匹配单词字符,即a-z、A-Z、0-9、_
|
\W
|
匹配非单词字符
|
字符 |
功能
|
* | 匹配前一个字符出现0次或者无限次,即可有可无 |
+ | 匹配前一个字符出现1次或者无限次,即至少有1次 |
? | 匹配前一个字符出现1次或者0次,即要么有1次,要么没有 |
{m} | 匹配前一个字符出现m次 |
{m,n} | 匹配前一个字符出现从m到n次 |
“匹配开头结尾”
字符
|
功能
|
^
|
匹配字符串开头
|
$
|
匹配字符串结尾
|
“匹配分组”
字符
|
功能
|
|
|
匹配左右任意一个表达式
|
(ab)
|
将括号中字符作为一个分组
|
\num
|
引用分组num匹配到的字符串
|
(?P<name>)
|
分组起别名
|
(?P=name)
|
引用别名为name分组匹配到的字符串
|
match_obj = re.match(r"c:\\a\\b\\c", my_str) if match_obj: print(match_obj.group()) else: print("匹配失败")
python贪婪和非贪婪
代码/语法
|
说明
|
*?
|
重复任意次,但尽可能少重复
|
+?
|
重复1次或更多次,但尽可能少重复
|
??
|
重复0次或1次,但尽可能少重复
|
{n,m}?
|
重复n到m次,但尽可能少重复
|
{n,}?
|
重复n次以上,但尽可能少重复
|
match_obj = re.match("t.o", "two123456") if match_obj: # 获取匹配的结果 print(match_obj.group()) else: print("匹配失败")
# 扩展- 匹配qq match_obj = re.match("(qq):(1\d{4,11})", "qq:10987") if match_obj: print(match_obj.group()) # 表示获取第一个分组的数据 print(match_obj.group(1)) # 表示获取第二个分组的数据 print(match_obj.group(2)) else: print("匹配失败")
# 扩展- 匹配qq match_obj = re.match("(qq):(1\d{4,11})", "qq:10987") if match_obj: print(match_obj.group()) # 表示获取第一个分组的数据 print(match_obj.group(1)) # 表示获取第二个分组的数据 print(match_obj.group(2)) else: print("匹配失败")
match_obj = re.match("<(?P<name1>[a-zA-z0-9]+)><(?P<name2>[a-zA-z0-9]+)>.*</(?P=name2)></(?P=name1)>", "<html><h1>www.itcast.cn</h1></html>") if match_obj: print(match_obj.group()) else: print("匹配失败")
match_obj = re.search("\d+", "水果有20个30") if match_obj: print(match_obj.group()) else: print("匹配失败")
result = re.findall("\d+", "苹果20个鸭梨10个总共30个水果") print(result)
result = re.sub("\d+", "200", "阅读数:10 评论数:10", count=1) print(result)
result = re.split(":|,", "哈哈:呵呵,嘻嘻:嘿嘿", maxsplit=1) print(result)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:HTTP协议(一)
- python学习-53 正则表达式 2019-08-13
- python 之 re模块、hashlib模块 2019-07-24
- 正则表达式 2019-06-14
- 中缀表达式转换为后缀表达式(python实现) 2019-06-14
- day14-推导式和生成器表达式 2019-06-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash