Ich habe ein Problem über ganze Wörter in Java übereinstimmt, was ich die Startindizes tun wollenregex ganze Wort Option
in einer bestimmten Zeile jedes Wort findetPattern pattern = Pattern.compile("("+str+")\\b");
Matcher matcher = pattern.matcher(line.toLowerCase(Locale.ENGLISH));
if(matcher.find()){
//Doing something
}
ich ein Problem mit diesem konkreten Fall haben
line = "Watson has Watson's items.";
str = "watson";
ich möchte hier nur mit dem ersten watson übereinstimmen, ohne dass die anderen passenden und i dont mein Muster wollen einige leere Raum Kontrolle haben, was soll ich in diesem Fall tun
Könnten Sie klarstellen * ich möchte nicht, dass mein Muster eine Leerraumkontrolle hat * bitte? Was ist Ihre Anforderung für ein * Wort * und seinen erlaubten * Kontext *? Sie können einen Lookahead wie '(?! ')' Anhängen, um Apostrophe nach ganzen Wörtern zu verhindern. –
Wenn Sie den Startindex des ersten 'Watson' wollen, warum benutzen Sie nicht die Funktion' String # indexOf'? – SomeJavaGuy
@ WiktorStribiżew Apostrophe sind nur ein Beispiel. Ich möchte überprüfen, -, + oder andere Nicht-Wort-Zeichen – user3430912