如何使用正则表达式将下面的字符串替换为X?

时间:2017-05-18 13:13:37

标签: java regex

输入: KEV32KUNAPP003-10.210.17.43-8050-ABCTMD1

预期成果: XXX32KUNAPP003-XX.XXX.17.43-8050-ABCTMD1

描述: KEV是静态字符串,需要用X替换。 字符串的中间部分包含IP地址(IPv4) IP地址的前两个节点需要用X替换。

我正在使用java。我想用正则表达式替换上面的字符串。

1 个答案:

答案 0 :(得分:0)

不确定如何为IP标记相同数量的X,但如果为每个细分添加XXX,则以下是我能做的最佳匹配:

查找

(^KEV)(.+-)([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])(-.+$)

替换为:

XXX$2XXX.XXX.$5.$6$7

测试:http://regexr.com/3g03j