【发布时间】:2020-02-08 02:04:06
【问题描述】:
我有一个这样的字符串:
to_search = "example <a>first</a> asdqwe <a>second</a>"
我想在这样的之间找到两种解决方案:
list = ["first","second"]
我知道在寻找一种解决方案时我应该使用以下代码:
import re
if to_search.find("<a>") > -1:
result = re.search('<a>(.*?)</a>', to_search)
s = result.group(1)
print(s)
但这只会打印:
first
我尝试了 result.group(2) 和 result.group(0) 但我得到了相同的解决方案
如何列出所有解决方案?
【问题讨论】:
-
"请求 HTML、JSON 等正则表达式往往会遇到负面反应。如果有解析器,请改用它。"
-
您是否使用 HTML 似乎与我无关,您仍在尝试从字符串中提取 html,正确答案是使用 html 解析器
-
不,我的问题是 not 关于 extracting html ,我的问题是关于字符串中的正则表达式。正确答案是 not use an html praser ,答案是使用
re.findall回答 by @Simon 。在另一个带有“(a)”而不是“”的字符串上使用 html 解析器是行不通的。谢谢 -
我使用的相同字符串也写在Regular expression operations下的python文档中,我没有使用只是因为我喜欢html或任何东西。 “”字面上是写在正则表达式的python文档中