質問: p.matcher(str); System.out.println(m.find()); } } このコードの結果はなぜtrueになるのでしょうか? ?は直前の文字と0回または1回以上一致するとtrueだと認識しているのですが、違いますかね?
回答: ?は直前の文字と0回または1回以上一致するとtrueの認識で間違っていないです。 いろいろと試してみて、自分なりに解釈する方がよいと思います。 以下のようなパターンでは記載の結果になると思います。 | 文字列 | 結果 | | --- | --- | | *http* | true | | *https* | true | | *http*p | true | | *https*ps | true | | htts | false | | htt | false |