非IP地址行的RegEx匹配

时间:2019-04-29 22:18:32

标签: regex

每行都有一个带有IP地址的文本,以及带有数字/点的任意文本。如何只匹配非IP地址的行?

10.123.34.12


asdADSas 3242 .

10.123.34.12

空行可以。

如何解决此问题?

1 个答案:

答案 0 :(得分:2)

虽然RegEx可以做的不是找东西,但它不是应该做的。与仅检查每一行的匹配项并将匹配项复制到另一个数组/列表/字符串相比,前瞻要慢得多。根据随附的语言,这可能会成为您的过程的瓶颈。

您正在寻找的正则表达式是:

^((?!\b((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:(?<!\.)\b|\.)){4}).)*$

如果需要,您还可以修改它以允许空行。

Demo