簡體   English   中英

Python正則表達式不返回任何重復內容嗎?

[英]Python Regular Expression returning nothing to repeat?

因此,我要嘗試的是將文本文件逐行解析為列表。

我已經成功做到了。 現在,我需要拉出所有以.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&GType=1.html

但它們實際上可能是隨機的,因此* .html

在正則表達式中, *是元字符,它具有特殊含義。 這就是為什么它會給您錯誤。 您可以使用以下RegEx,

re.compile(".*\.html")

在這里, .*表示任何字符都可以出現任意次(0次或多次)(這是*在正則表達式中實際上意味着的意思),然后您想匹配. ,因此我們用\\.匹配\\. ,因為點也具有特殊含義(它可以匹配任何字符),因此我們需要使用\\對其進行轉義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM