Python - 正则表达式 Ip,不以点开头或结尾



我有一个找到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 模式。

更新

根据您的评论,这是更新的正则表达式(我刚刚添加了单词边界以涵盖您提供的情况(:

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

相关内容

最新更新