2017-12-19 2 views
0

ich java bin und haben ein Muster wie I am going to manchester ich diese Weise werden alle Sätze regulären Ausdruck übereinstimmen verwenden möchten, die I am going (einige string) to manchester des Typs sind. Also meine Zeichenfolge i am going to manchester wird auch übereinstimmen I am going with my family to manchesterregulären Ausdrücken eine Teil zu ignorieren

Kennt jemand die Regex, um dies zu erreichen?

habe ich versucht, die folgende, aber es wird nicht funktionieren:

Pattern.compile("i am going (\\w+) to mancheter") 

I Pattern und Matcher verwende.

+0

'Ich gehe (. +)? nach Manchester oder einfach "Ich gehe nach Manchester". – ctwheels

+0

['ich gehe. +? Manchester \ .'] (https://regex101.com/r/Ej9A5j/1) aber generell denke ich, dass das nicht ratsam ist. – Jan

+0

Muss auch die Saite "Ich gehe nach Manchester" abgelehnt werden? – AntonH

Antwort

0

Probieren Sie es aus:

Eingang:

I am going with my family to manchester potato 

Ausgang:

I am going with my family to manchester 

Java-Code:

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

// one class needs to have a main() method 
public class HelloWorld { 
// arguments are passed using the text field below this editor 
public static void main(String[] args) { 

    final String regex = "(<?I am going)(.+)(?>manchester)"; 
    final String string = "I am going with my family to manchester patata"; 

    final Pattern pattern = Pattern.compile(regex); 
    final Matcher matcher = pattern.matcher(string); 
    String answer = ""; 

    while (matcher.find()) { 
    answer = matcher.group(0) + ""; 
    } 


    System.out.println(answer); 
} 
} 
Verwandte Themen