Python 此 HTML 字符串的正则表达式

Python RegEx for this HTML String

我有一个这样的字符串:

<span class=\"market_listing_price market_listing_price_with_fee\">\r
\t\t\t\t\t&#36;92.53 USD\t\t\t\t<\/span>

我需要通过 RegEx 找到这个字符串。我的尝试:

(^<span class=\"market_listing_price market_listing_price_with_fee\">\r\t\t\t\t\t&)

但我的问题是,“\t”和“\r”的计数可能会有所不同。当然这不是整个字符串的正则表达式。只是其中的一部分。

那么,这个字符串的正确且完整的 RegEx 是什么?

因为这是一个 HTML 字符串,我建议使用 一个 HTML 解析器 就像 BeautifulSoup.

这是一个使用 CSS selector:

通过 class 属性值查找元素的示例方法
from bs4 import BeautifulSoup

data = "my HTML data" 

soup = BeautifulSoup(data)
result = soup.select("span.market_listing_price.market_listing_price_with_fee")

另请参阅:

  • RegEx match open tags except XHTML self-contained tags

回答您关于正则表达式的问题:

"market_listing_price market_listing_price_with_fee\">[\r]*[\t]*&

这将捕获您需要的字符串。即使您添加更多的 \t 或 \r。 如果您需要编辑此正则表达式,我建议您访问 this 网站并对其进行测试修改。它还将帮助您了解正则表达式的工作原理并构建您自己的完整 RegEx。