2017-08-06 162 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