繁体   English   中英

如何不使用正则表达式捕获字符串

[英]How not capture a string with regex

我有这个字符串

<div class"ewSvNa"><a class="ugP" href="link">Description</a><span data-testid=""><small>$</small><span>0,00</span></div>

这个正则表达式/ewS.*?ugP\".*?f=\"(.*?)\">(.*?)<.*?<s.*?n>(.*?)</g . 结果是:

Group 1 = 'link'
Group 2 = 'Description'
Group 3 = '0,00'

我的问题是:第 3 组的结果可能像“$0,00”?

谢谢你们 =]]]]]

建议不要使用正则表达式来解析 HTML - 而是使用适当的解析器,例如Beautiful Soup

然后你的代码变成:

from bs4 import BeautifulSoup

text = '<div class"ewSvNa"><a class="ugP" href="link">Description</a><span data-testid=""><small>$</small><span>0,00</span></div>'
soup = BeautifulSoup(text)
amount = soup.select_one('span[data-testid]').get_text()
# '$0,00'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM