检索以' - '分隔的数字

时间:2010-11-19 21:28:45

标签: java regex pattern-matching

假设我有大量(随机)文字。在此文本中有一个电话号码,包括三个数字,一个短划线,另外三个数字,一个短划线和四个数字。例如,XXX-XXX-XXXX。从文本中检索此数字的正则表达式是什么?我尝试使用:

Matcher matcher = pattern.matcher(previousText);
Pattern pattern2 = Pattern.compile(".*(\\d\\d\\d-\\d\\d\\d-\\d\\d\\d\\d).*")
Matcher matcher2 = pattern2.matcher(currentText);

现在,虽然它会起作用,但事实并非如此。请帮忙。

2 个答案:

答案 0 :(得分:5)

正则表达式:\d{3}-\d{3}-\d{4}

答案 1 :(得分:1)

Pattern pattern = Pattern.compile(".*(\\d{3}-\\d{3}-\\d{4}).*");
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
    String number = matcher.group(1);
    System.out.println(number);
}