【发布时间】:2013-04-14 07:01:34
【问题描述】:
这是一个关于 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 的提示以正确的格式添加问题:
我需要在我的正则表达式中添加什么以包含已在格式化文本字段中的括号?
Edit2:已回答问题,但根据波西米亚提示添加示例,以便将来遇到此帖子的学生可以使用它。抱歉,我是新手!
需要看起来像:
(123) 456-7890
【问题讨论】:
-
“这是一个关于 Java 中 RegEx 的问题” 可能是,但因为没有问题。你有什么问题?
-
我想知道要添加到我的正则表达式中以包含已在格式化文本字段中的括号。
-
什么,正则表达式必须精确匹配吗?请列举一些例子来说明你的意图
-
“我需要在我的正则表达式中添加什么以包含格式化文本字段中已经存在的括号?” 是一个问题,如果这是您的问题,请edit it into the question。有些人会搜索“?” (“不是你要找的答案?” 他们会直接进入下一个实际问题。只是一个提示..
-
哦,哇,你说的很有道理。将来会这样做,对此感到抱歉。