正则(.*?)的简单运用
context = '<a href="https://baidu.com">(你好啊)</a><p>我是清安</p>'
提取 context 的链接也就是 https://baidu.com
pat1 = r'href="(.*?)"'
res1 = re.findall(pattern=pat1, string=context, flags=re.S)
print(res1)
() :括起来的部分就是要提取的。
. :匹配任何字符串。
* :一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
那么有一种情况或者其他多种情况需要转义,这里介绍一种(),是需要进行转义的
想要 “你好啊”
import re
context = '<a href="https://baidu.com">(你好啊 )</a><p>我是清安</p>'
pat2 = '">\\((.*?)\\)</'
res1 = re.findall(pattern=pat2, string=context, flags=re.S)
print(res1)
想要你好啊,怎么办。这时候就需要转义了。加上\\就好了。并且告诉它我转义的是(),同意匹配其中的内容。
此外,flags=re.S,是匹配任何匹配任何字符,包括换行符
想要 我是请安 就pat2 = '</a><p> (.*?) </p>'