我试图在一个巨大的字符串中找到一个模式并获得我需要的价值。
我不熟悉正则表达式,因此我不确定如何解决它。
字符串示例:
href="https://www.johomojo.com/one?fref=pb&hc_location=cons_tab">the value i want</a></div>
它始终以:
开头location=cons_tab">
并以:
结束</a></div>
在正则表达式或解析中有一个很好的解决方法吗?
答案 0 :(得分:1)
使用BeautifulSoup
:
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('your_html')
>>> for x in soup.find_all('a'):
... if x.get('href').endswith('location=cons_tab'):
... print x.text
...
the value i want
使用regex
:
>>> import re
>>> re.findall("<a.*location=cons_tab.*>(.*)</a>",'your_html')
['the value i want']
答案 1 :(得分:1)
尝试使用:
reobj = re.compile(r'<a\b[^>]href=".*?location=cons_tab.*?"[^>]*>(.*?)</a>', re.IGNORECASE | re.DOTALL)
match = reobj.search(text)
if match:
result = match.group(1)
else:
result = ""