2016-05-31 4 views
-2

Meine Regex muss alle Wörter analysieren, die länger als 6 Symbole in mehrzeiligen Zeichenfolge sind.was Regex findet alle Wörter der Länge 6 oder mehr in einer Zeichenfolge

 Pattern pattern = Pattern.compile("(\\w{7,}\\s\\b.*)"); 

     Matcher mm = pattern.matcher(lines); 

     if (mm.matches()) { 

      String oldGroup = mm.group(); 

________Here ist Beispiel Eingabe:

1234567 1234567 1234567 
1234 123 1234567 
123 12345 1234 1234567 
123 

_______And hier ouput erwartet:

1234567 1234567 1234567 1234567 1234567 

Also, ich brauche nur, dass nur Wörter mit 6 oder mehr Buchstaben-Symbole ausgegeben werden.

+1

Lesen Sie es dreimal und ich verstehe immer noch nicht, was Sie wollen. Zeigen Sie uns einige Beispiele ... von Input ** und ** erwarteter Output. – ClasG

+0

Danke, verknüpfter Thread gab mir einen Hinweis. – kkaun

+0

Also ist Ihre Frage nur "welche Regex findet alle Wörter der Länge 6 oder mehr in einer Zeichenfolge"? –

Antwort

0
(\b\S{7,}\b)/ 

1st Capturing group (\b\S{7,}\b) 
    \b assert position at a word boundary (^\w|\w$|\W\w|\w\W) 
    \S{7,} match any non-white space character [^\r\n\t\f ] 
     Quantifier: {7,} Between 7 and unlimited times, as many times as possible, giving back as needed [greedy] 
    \b assert position at a word boundary (^\w|\w$|\W\w|\w\W) 
Verwandte Themen