2017-08-06 210 views
-2

我想知道替換IP地址?

我想知道如何檢測一個IP地址,然後用另一個字符串更換什麼,也許像「審查」或「羅」。


爲什麼?

主要是因爲我想檢查一個IP地址,如果它被檢測爲一個。

+0

你想審查*您* IP地址? – Catalyst

+0

不,任何IP地址。 – Inparsian

回答

0

你可以使用String.prototype.replace()正則表達式

的replace()方法返回了一些新的字符串或模式的所有比賽被替換替換。該模式可以是字符串或RegExp,而替換可以是每個匹配都要調用的字符串或函數。

注意:原始字符串將保持不變。

語法 str.replace(正則表達式| SUBSTR,newSubstr |功能)

你有很多來源,如果你需要更好地瞭解如何處理replace()方法,這裏有一個:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

只需按照該教程(或任何類似的)瞭解如何使用replace(),然後繼續閱讀此處。


正則表達式

現在你已經知道如何使用正則表達式來創建匹配點覆蓋的字符串,你需要適當的正則表達式來匹配您的方案。

一個IP正則表達式一個很好的出發點是這個簡化的一個:

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

它很容易和使用過,但即使我們正確地與這一個處理IP的語法,我們將匹配任何數量的0到999,所以它可以匹配不一致的地址(例如超出範圍的IP,比如192.168.1.999)將匹配。 如果你對正則表達式沒有信心,這是一個很好的起點。

更準確,更難以理解的正則表達式,將執行以下操作:

\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b 

這解決以往的問題,其作用相當好。

以下是您需要的全部內容,請注意,這會回答很多情況,如果需要匹配其他內容,請使用正確的替換正則表達式。

最後但並非最不重要的,只記得總是加倍反斜槓,因爲你需要它在Java代碼中正確解析,所以最後一個是

\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b