gpt4 book ai didi

java - java 8 中用于屏蔽 SSN 的正则表达式

转载 作者:行者123 更新时间:2023-12-02 11:22:06 24 4
gpt4 key购买 nike

import java.util.*;
import java.util.regex.*;

String input = "456-67-8901";

String pattern = "^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$";
String result = Regex.Replace(input, pattern, "XXX-XX-$1");

在 Regex.Replace 处显示错误(无法解析 Regex)。我正在使用 java 8。请帮忙。谢谢。

最佳答案

您想要这样的内容,将 XXX-XX- 代替前五位数字。我用两个捕获组稍微修改了您的正则表达式,以便 m.group(1) 返回前五个数字。不过,您对 m.group(2) 感兴趣。见下文:

    String input = "456-67-8901";

Pattern p = Pattern.compile("^(\\d{3}[- ]?\\d{2}[- ]?)(\\d{4})$");
Matcher m = p.matcher(input);
if (m.matches()) {
System.out.println("XXX-XX-" + m.group(2));
} else {
// bad input
}

关于java - java 8 中用于屏蔽 SSN 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49844334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com