簡體   English   中英

如何在 Python 正則表達式中匹配特定的 URL 模式

[英]How to match a particular URL pattern in Python regex

我無法匹配以下格式的模式: p#.g.com其中 # 不是 1 或 2。例如,如果模式是p1.g.com ,則不需要匹配。 如果是p2.g.com ,我不需要匹配。

但是如果它是任何其他數字,例如p3.g.comp29.g.com ,那么我需要匹配。

我當前的模式是r"(?P<url>p([^1,2])\\.g\\.com)" ,但如果模式是 p##.g.com,基本上是任何兩位數,這將失敗它失敗了。 # 沒有上限,因此可以是 3 或 999 或介於兩者之間的任何值。

我也試過r"(?P<url>p([^1,2])\\d+\\.g\\.com)"但這與任何以 1 或 2 開頭的數字都不匹配。例如 11 或 23不匹配,我確實想要匹配。

試試這個正則表達式:

p(?:[03-9]|\d{2,})\.g\.com

演示

解釋:

  • 匹配字符p
  • 非捕獲組的開始
    • 匹配以下之一:
      • 數字 0 或 3-9
      • 任何兩位數,如 10 或更高
  • 匹配字符.g.com

暫無
暫無

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

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