所以,我试图做的是逐行解析文本文件到列表中。
我已成功完成了这项工作。现在,我需要将所有以.html
结尾的链接拉出来。
因此,我认为我会解析每一行,如果它匹配*.html
。所以我认为最好的方法是使用正则表达式。下面是我的代码,有问题的错误是返回的错误,没有重复。我引用了它引用的那条线。
代码:
compiled = re.compile("*.html") //Error Here
[m.group(0) for l in content for m in [compiled.search(l)] if m]
仅为了记录,我试图提取看起来像的链接:
Nws_NewsDetails.aspx@Site_Id=2&lang=1&NewsID=148513&CatID=19&Type=Home>ype=1.html
但它们可能真的是随机的,因此是* .html
答案 0 :(得分:4)
在正则表达式中,*
是一个元字符,它具有特殊含义。这就是它给你错误的原因。您可以使用以下RegEx,
re.compile(".*\.html")
这里,.*
表示任何字符都可以出现任意次数(0次或更多次)(这是*
在正则表达式中的实际含义),然后你想匹配{{1因为我们将它与.
匹配,因为dot也有特殊含义(它匹配任何字符),我们需要使用\.
来转义它。