次のコードは、trueを返すと信じているときにfalseを返します。なぜ誰かが私に言うことができますか? これはjava.util.regex.Patternを使って正規表現を解析しています。文字列リテラルで
Pattern.compile("^\|:\|$".matcher("| |").matches();
次のコードは、trueを返すと信じているときにfalseを返します。なぜ誰かが私に言うことができますか? これはjava.util.regex.Patternを使って正規表現を解析しています。文字列リテラルで
Pattern.compile("^\|:\|$".matcher("| |").matches();
\
は\\
のようにエスケープする必要があります。
何かを一致させたい場合は:
ではなく.*
を使用してください。あなたはJavaでmatches
メソッドを使用する場合
は、あなたはそれが文字列全体にマッチした場合にのみ、この機能がtrue
を返すなどの文字列の境界^
と$
を追加する必要はありません。あなたは
Pattern.compile("\\|.*\\|").matcher("| |").matches();
私はあなたが '' \\ |。* \\ | "'を意味すると思います – revo
@revoはい、ありがとう(違いを見るために私をしばらく持ちました...この文字列エスケープはとても痛いです...) –
私はdidn私はそれが有用かどうかまだ不明です(この質問は明らかに正確な重複IMOではありません) –
「デザインパターン」をしたいように見える
はポイントが 'マッチは()'完全な文字列の一致を必要とすることである –
絶対に「正規表現パターン」ではありません。 –
なぜ:とスペース?私はこの試みの論理を得ていない。あなたは '' \ \ |。* \\ | $ "'をしたかったのですか? –