Python匹配分组
Python匹配分组
匹配分组
字符 | 功能 |
---|---|
| | 匹配左右任意一个表达式 |
(ab) | 将括号中字符作为一个分组 |
\num |
引用分组num匹配到的字符串 |
(?P<name>) |
分组起别名 |
(?P=name) | 引用别名为name分组匹配到的字符串 |
import re
#匹配出163、126、qq邮箱
ret=re.match(“\w{4,20}@163\.com$”,”lisus2000@163.com”)
print(ret.group())
ret=re.match(“\w{4,20}@(163|126|qq)\.com”,”test@qq.com”)
if ret:
print(ret.group())
else:
print(“不是163、126、qq邮箱”) # 不是163、126、qq邮箱
import re
ret=re.match(r”<([a-zA-Z]*)>\w*</\1>”,”<html>hh</html>”)
print(ret.group())
#因为2对<>中的数据不一致,所以没有匹配出来
test_label = “<html>hh</htmlbalabala>”
ret = re.match(r”<([a-zA-Z]*)>\w*</\1>”, test_label)
if ret:
print(ret.group())
else:
print(“%s 这是一对不正确的标签” % test_label)
#需求:匹配出<html><h1>www.baidu.cn</h1></html>
labels = [“<html><h1>www.baidu.cn</h1></html>”, “<html><h1>www.google.cn</h2></html>”]
for label in labels:
ret=re.match(r”<(\w*)><(\w*)>.*</\2></\1>”,label)
if ret:
print(“%s 是符合要求的标签” % ret.group())
else:
print(“%s 不符合要求” % label)
版权声明:本文为lisus2000原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。