2010-11-19 9 views
0

Lets sagen, ich habe eine große Menge an (zufälligen) Text. In diesem Text gibt es eine Telefonnummer, die aus drei Ziffern, einem Bindestrich, weiteren drei Ziffern, einem Bindestrich und vier Ziffern besteht. Zum Beispiel XXX-XXX-XXXX. Was wäre die Regex zum Abrufen dieser Nummer aus dem Text. Ich versuchte mit:Abrufen von Zahlen getrennt durch '-'

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

Nun, ich würde zwar funktionieren, aber es nicht funktioniert. Bitte helfen Sie.

Antwort

5

Die Regex: \d{3}-\d{3}-\d{4}

+0

* Fast * zu prägnanten –

+0

@instanceofTom Ich kann nicht mehr verraten. Ich kenne nur Regex, nicht Java :). –

+1

Sie haben '//' anstelle von '\\' – izb

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