Java Patternクラスを使用して文字列を一致させようとしています。提供された単語と特殊文字を一致させるJava正規表現
private boolean isMatch(String searchSentence, String matchWord) {
String patternText = ".*\\b";
Pattern pattern = Pattern.compile(patternText + matchWord + "\\b.*",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(searchSentence);
return matcher.matches();
}
私は({[など
私は「RANCH」なく「RANCHを(見つけることができる午前などの特殊文字が含まれていない一致文字列を、持っている場合、これは動作しますEAGLEFORD) "
さらにいくつかの例
- は私の入力文字列があるとしましょう:。" ポイント[-99.73586,28.38092]」それから私は、を検索することができるはず 『-99.73586,28.38092』
- は私の入力文字列があるとしましょう:『ポイントは、[-99.73586,28.38092]』、私はできるはずです「Rench RenchY」、私は「Rench」を検索することができるはずですが、RenchYはの一部であってはならない:を検索するために、「[-99.73586,28.38092]」
- は私の入力文字列があるとしましょう検索結果。 どうすればこれらのタイプのケースを処理できますか。正規表現
文字列stringToSearch = "私はRANCH(EAGLEFORD)とRANCH {} EAGLEFORDにしようとしていますいくつかの長い文字列" で
サンプル入力とは何ですか?あなたは何をしようとしていますか? – TheLostMind
あなたのための単語境界は何ですか? 「単語」は空白以外の文字の単なる塊ですか? ')'は単語の文字ではなく、 '\ b'の後にかっこの直後に単語charが必要であることに注意してください。もう一つの問題は 'Pattern.quote(matchWord)'を使う必要があるということです。 –
「Pattern.compile( "。*(?<!\\ S)" + Pattern.quote(matchWord)+ "(?!\\ S)。*"、Patternを試してみましょう。 CASE_INSENSITIVE) ' –