检索由' - '分隔的数字

问题描述:

可以说我有大量(随机)文本。在此文本中有一个电话号码,由三位数字,短划线,另外三位数字,短划线和四位数字组成。例如,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); 

现在,我虽然它会工作,但它没有。请帮忙。

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

+0

*几乎*过于简洁 – 2010-11-19 21:32:22

+0

@instanceofTom我不能透露更多的细节。我只知道正则表达式,而不是Java :)。 – 2010-11-19 21:33:06

+1

你有'//'而不是'\\' – izb 2010-11-19 21:38:16

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); 
}