正则表达式如下:
first(字符) | desc(功能) |
---|---|
| | 匹配左右任意一个表达式 |
(ab) | 将括号中字符作为一个分组 |
\num | 引用分组num匹配到的字符串 |
(?P<name>) | 分组起别名 |
(?P=name) | 引用别名为name分组匹配到的字符串 |
| 的用法
- 匹配1到100之间的数字
ret = re.match("[1-9]?\d$|100","8")
print(ret.group()) # 8
ret = re.match("[1-9]?\d$|100","78")
print(ret.group()) # 78
ret = re.match("[1-9]?\d$|100","08")
# print(ret.group()) # 不是0-100之间
ret = re.match("[1-9]?\d$|100","100")
print(ret.group()) # 100
( )的用法
- 匹配出163、sina、qq邮箱
# -*- coding:utf-8 -*-
import re
emails = ['ljhyigehaoren@sina.com','22958081@qq.com','asncswncl@qq.cn','asncswncl@163.cn',]
for i in emails:
ret = re.match('[a-z0-9]+@(sina|qq|163)\.(com|cn)',i)
if ret:
print(ret,i)
\num 的用法
ret = re.match('<(\w+)>\d+<\\1>','<html>123456<html>')
# ret = re.match(r'<(\w+)>\d+<\1>','<html>123456<html>')
print(ret.group(),ret.groups())
(?P<name>)和(?P=name)的用法
ret = re.findall('<(?P<name1>\w+)>\d+<(?P=name1)>','<html>123456<html>')
# ret = re.match(r'<(\w+)>\d+<\1>','<html>123456<html>')
print(ret)
网友评论