这是关于 Java 中 RegEx 的问题。我到处寻找,但找不到与我需要的相似的东西。另外,我花了几个小时自己尝试。
我在用 Java 编码的学校实验室的最后一部分。我使用 Eclipse 作为我的编译器。我已经使用 Swing 组件构建了一个会员应用程序,
我的字段之一是让用户输入 10 位数的电话号码。但是,我必须将此设置为 JFormatted 文本字段,以这种格式屏蔽文本框:“(###)###-####”。所以当程序加载时,那个文本框看起来像这样:“( _)- ___”
现在,我需要做的就是有一个正则表达式来确保用户输入 10 位数字。但是,我需要它来处理我上面使用的掩码格式。这是我到目前为止所拥有的:
pattern = Pattern.compile("\\d{3}\\s\\d{3}-\\d{4}");
matcher = pattern.matcher(phoneText.getText());
if (!matcher.find())
{
phoneText.requestFocus();
JOptionPane.showMessageDialog(null, "Phone entered incorrectly. Phone should be:\n" +
"10 numeric digits.",
"A D D E R R O R",JOptionPane.ERROR_MESSAGE);
return;
}
我相信我已将正则表达式写入它接受掩码格式中的空格和破折号的位置,但我不知道如何包含括号。
编辑:根据 Andrew Thomas 的提示以正确的格式添加问题:
我需要在我的正则表达式中添加什么以包含已在格式化文本字段中的括号?
编辑2:问题已回答,但根据波西米亚提示添加示例,以便将来遇到此帖子的学生可以使用它。对不起,我是新手!
需要看起来像:
(123) 456-7890