用于屏蔽ip地址的java正则表达式

用于屏蔽ip地址的java正则表达式,java,regex,ip-address,mask,Java,Regex,Ip Address,Mask,我想编写java程序来屏蔽输入字符串中的ip地址 例如,输入字符串为“AAA192.168.110.*BBBB10.*” 条件:将ip地址替换为“X”字符 我想输出为 aaaxxxxxxxxxxxxxbbbxxxxx 我试图解析字符串以替换ip地址,但无法将“*”映射为正则表达式 有人能帮我写reg ex来替换字符串中的ip地址吗? 注意:要替换的字符数('X')等于ip地址中的字符数 例如,10.*替换为XXXX ip地址中可能还有其他数字: 例如“AAAA1710.20.*”。此处要屏蔽的i

我想编写java程序来屏蔽输入字符串中的ip地址

例如,输入字符串为“AAA192.168.110.*BBBB10.*”

条件:将ip地址替换为“X”字符

我想输出为 aaaxxxxxxxxxxxxxbbbxxxxx

我试图解析字符串以替换ip地址,但无法将“*”映射为正则表达式

有人能帮我写reg ex来替换字符串中的ip地址吗? 注意:要替换的字符数('X')等于ip地址中的字符数

例如,10.*替换为XXXX

ip地址中可能还有其他数字:

例如“AAAA1710.20.*”。此处要屏蔽的ip地址为“10.20.*”。所以输出应该是 “AAAA17XXXXXXX”

所以它应该只对需要屏蔽的ip进行屏蔽。因此,对于“AAA1710.20.*”,它应该只删除“10.20.*”

需要屏蔽的Ip地址将与要解析的输入字符串一起作为输入提供

对于上面的示例,要解析的ip地址为“10.20.*”

以下代码没有提供所需的输出:

字符串输入=“AAAA99192.168.10.*CCCCC DDD10.*”

字符串m=input.replaceAll(“[192.168.10.*]”和“X”).replace(“[10.*]”), “Y”)

系统输出打印项次(m)


//输出为AAAAXXXXXXXXXXXXXXXXCCCCCDDDXXXXX,不正确。它也取代了99,这是不正确的。它还应该将10.*替换为“YYYY”,而“YYYY”不会发生

您可以使用下面的代码来标记数字和点

String s = "AAA2110.20.*BB192.128.*";
String m = s.replaceAll("10\\.20\\.\\*", "XXXXXXX").replaceAll("192\\.128\\.\\*", "YYYYYYYYY");
System.out.println(m);
输出:

AAA21XXXXXXXBBYYYYYYYYY

您可以使用此正则表达式:

"([0-9]{1,3}\\.){3}[0-9]{1,3}"

查找IP地址。

当我尝试使用以下代码删除IP地址时。它没有给我所需的输出字符串input=“AAAA99192.168.10.*ccccc ddd10.*”;字符串m=input.replaceAll(“[192.168.11.*]”,X”)。replace(“[10.*]”,Y”);系统输出打印项次(m);你能把你试过的表意文字链接贴出来吗?而且你的输入不包含
11
那么它是如何被替换的呢?嗨,阿维纳什,谢谢你的回复。我的要求是,它应该只删除ip地址,但不是其他数字:因此,如果输入是AAA2110.20.*BB192.128.*并且要屏蔽的ip地址是10.20.*和192.128.*那么第一步输出应该是aaa21xxxxbb192.128.*以删除10.20.*并且在下一步它应该删除192.128.*那么输出应该是aaa21xxxxbbxxxxxx,数字110属于其中一个iPAddress范围,那么您为什么要尝试要屏蔽从10开始的数字,为什么不屏蔽110?因为用户输入将决定屏蔽哪个ip地址,所以对于输入AAA2110.20.*BB192.128.*,可能还有其他数字与ip地址一起,要求屏蔽ip地址10.20.*而不是110.20*