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

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()
# '[=10=],00'