【Python3 爬虫】U16_正则表达式之开始结束和或语法

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())
原文地址:https://www.cnblogs.com/OliverQin/p/12618413.html