2013-08-23 60 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的字符。它被稱爲「懶惰量詞」。

相關問題