我一直在尝试使用Python的正则表达式模块:Re。
我决定编写一个简单的表达式来搜索文件中的链接(href="url"
)。
这是我的正则表达式:href *= *(\"|\').*\1
当我使用名为GSkinner的网站时,我决定试用我的表达方式。结果是here以及代码。
当我决定在python正则表达式上尝试时,我使用了以下代码:
lines = """Code found in link"""
results = re.findall(r"href *= *(\"|\').*\1", lines)
print results # Ouputs: ['"', '"'] instead of two provided links
为什么结果以空字符串输出?
答案 0 :(得分:1)
findall
将仅返回捕获的内容(除非未捕获任何内容)。您还必须捕获所需的值:
r"href *= *(\"|\')(.*?)\1
你们可能想要使用类似的东西:
results = [x[1] for x in re.findall(r"href *= *(\"|\')(.*?)\1", lines)]