我有一个找到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(?!.)