0

我有一个很大的 txt 文件,并且有很多字符串、空格和 IP 我只想要 IP 地址我如何正则表达式除了 IP 之外的所有内容?我尝试了一些正则表达式来做到这一点,但没有任何效果,例如:

(?!([0-9]{1,3}\.){3}[0-9]{1,3}).*

但它正则表达式除了 IP 地址的 3 个第一位数字之外的所有内容。谢谢

4

1 回答 1

2

使用您的正则表达式,您试图捕获的所有内容之前都没有完整的 ip,但是 ip 的任何字符之前都没有完整的 ip,这就是它不起作用的原因。如果每行有一个 ip,则可以使用

/(.+?)(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})(.+)/ 

捕捉一切是“夹心”一个IP(它使用捕获组)。否则与

/(.+?)(?=(?:[0-9]{1,3}\.){3}[0-9]{1,3})/g

你匹配的一切都在一个ip之前。希望能帮助到你。

注意我使用 (.+?) 来避免捕获属于 ip 的字符。它被称为“惰性量词”。

于 2013-08-23T10:19:04.383 回答