次の正規表現がありますが、一致せず、true に設定されていますか?
String whatever = "> blah, blah, blah";
boolean q = Pattern.matches(whatever, "^>+"); // this evaluates to false
文字列で正しく一致していますか? 私は何が欠けていますか?どうも!
"^>+"
は、1 つ以上の のシーケンスと一致します>
。で始まる文字列を照合するには>
、次を使用します。
whatever.matches(">.+"); // .+ after >
String#matches()
ではなく メソッドを使用してくださいPattern.matches()
。メソッドの引数の順序が正しくありません。Pattern.matches()
メソッドは、最初の引数として正規表現を取ります。2 番目の引数として渡します。
メソッドの使用中に正規表現を使用している間、アンカーは暗黙的であることに注意してくださいmatches()
。それらを明示的に提供する必要はありません。