2013-08-23 61 views
1

我有一个大的txt文件,并且有很多字符串,空间和IP我只是想要IP地址我怎样才能正则表达式除IP之外的一切?我尝试了一些正则表达式来做到这一点,但没有工作如:正则表达式除了IP地址以外的所有东西

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

但它的正则表达式,除了IP地址的第3位数字的一切。 谢谢

+0

“正则表达式”不是动词,你想要做什么?你在寻找一个正则表达式吗__matches__所有IP地址*?你使用什么语言/正则表达方式? – deceze

+0

我想要一个正则表达式匹配除了IP地址 – user2676574

+1

以外的所有东西但是你说你想要“只有IP地址”。所以我想你想*提取*他们。与其匹配*而不是匹配其他所有内容是否更有意义?因为这很容易。 – deceze

回答

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之前。希望能帮助到你。

N.B.我正在使用(。+?)来避免捕获属于该ip的字符。它被称为“懒惰量词”。

相关问题