1. ^
(脱字号):表示以...开始
import re
text = 'abc'
ret = re.match('^ab',text)
print(ret.group())
打印结果:ab
如果在中括号中,则代表取反操作。
2. $
:表示以...结束
下面代码中的.com$
表示以.com结尾
# 匹配126邮箱
import re
text = 'qinys@126.com'
ret = re.match('w+@126.com$',text)
print(ret.group())
打印结果:qinys@126.com
3. |
:匹配多个表达式或字符串
import re
text = 'http://www.baidu.com'
ret = re.match('http|https|ftp',text)
print(ret.group())
4.贪婪与非贪婪模式
贪婪模式:在整个表达式匹配成功的前提下,尽可能多的匹配 ( * );
非贪婪模式:在整个表达式匹配成功的前提下,尽可能少的匹配 ( ? );
- 贪婪模式
import re
text = '<h1>标题</h1>'
ret = re.match('<.+>',text)
print(ret.group())
打印结果:<h1>标题</h1>
- 非贪婪模式
import re
text = '<h1>标题</h1>'
ret = re.match('<.+?>',text)
print(ret.group())
打印结果:
5.实战案例
匹配1到100之间的数字
import re
text = '100'
ret = re.match('[1-9]d?$|100$',text)
print(ret.group())