簡體   English   中英

Python 正則表達式中的美元符號

[英]The dollar sign in Python regular expressions

我正在開發一個小程序,目的是查找網站 URL(盡管它是您可以想象的最簡單的)。 以下是它的相關部分的樣子:

webURLregex = re.compile(r'''(
   (https://|http://)
   ([a-zA-Z0-9.%+\\/_-]+)
   ([a-zA-Z0-9%+\\/_-]$)
   )''',re.VERBOSE)

盡管我使用了“findall”方法來搜索粘貼的字符串,但該程序只給了我一個結果,盡管復制的文本包含超過 5 個 URL。 當我刪除美元符號時,它可以正常工作。

我確實理解美元符號是不必要的,因為它所在行的目的只是不匹配粘貼的字符串的最后一個字符,如果它恰好是逗號或點,但我認為美元符號不能改變output 根本沒有,顯然它做到了。

在我通過運行無美元符號程序獲得的六個結果中,當我添加美元符號時,只剩下一個(出於未知原因,考慮到它們在示意圖中看起來都相同)。 我也嘗試在括號的右括號之后添加它,並且 output 也是一個字符串。

任何關於如何以及為什么會發生這種情況的想法將不勝感激。

提前致謝。

您想使用 \$ 而不是 $。

webURLregex = re.compile(r'''(
   (https://|http://)
   ([a-zA-Z0-9.%+\\/_-]+)
   ([a-zA-Z0-9%+\\/_-]\$)
   )''',re.VERBOSE)

暫無
暫無

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

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