単純な正規表現パターン if put a*( quantifier) で、実際には文字 a; が含まれているにもかかわらず、マッチャーのどの結果にも一致しない理由を知っていますか? (いずれにせよ、「」を使用しているため、空の文字列が見つかったという結果が返されるはずです)。他の文字でも機能します。たとえば、r* と b* では問題ありません。コンテンツが引用符または括弧 ("a*") で囲まれている場合に機能することを認識しています。引用符なしで b* では機能し、引用符なしで a* では機能しない理由を知りたいだけですが。
コード:
Pattern pat = Pattern.compile(args[0]);
Matcher match = pat.matcher(args[1]);
while (match.find())
{
System.out.println("Indeed this the information I need:"+ match.group());
System.out.println("Here it starts:"+match.start());
}
「a」はメタキャラクターですが、「e」と「f」もメタキャラクターであり、それらを使用すると正常に機能することを認識しています。
コマンドラインに args[0] = a* args[1] = abba を入力として挿入します。
何か案が?前もって感謝します。