簡體   English   中英

Python-不以點開頭或結尾的正則表達式IP

[英]Python - Regex Ip that doesnt starts or ends with a dot

我有一個找到IP的正則表達式:

'[0-9]+(?:\.[0-9]+){3}'

現在,如果Ip以點開頭或結尾,則需要使它失敗。 例如,這些將失敗:

- .1.1.1.1
- 1.1.1.1.
- 1.1.1.1.1
- 1.11.1.1.1

試試這個正則表達式:

(?<!\.)(?:[0-9]+(?:\.[0-9]+){3})(?!\.)

點擊演示

說明:

  • (?<!\\.) -向后查找負號,以確保IP模式前面沒有.

  • (?:[0-9]+(?:\\.[0-9]+){3}) -與您的模式相同

  • (?!\\.) -負向搜索,以確保IP模式后沒有.

另外,請注意,如果需要,還可以改善IP模式。

更新

根據您的評論,這是更新的正則表達式(我剛剛添加了單詞邊界,以便涵蓋您提供的情況):

(?<!\\.)\\b\\d+(?:\\.\\d+){3}\\b(?!\\.)

暫無
暫無

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

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