'java.util.regex.Pattern'を使用してテキストファイルから代入操作をキャプチャしようとしています。自分が探しているものを実際に認識できるように正規表現を修正しようとすると、非常にイライラします。問題を可能な限り単純化し、空白の取得に関する問題を見つけました。
この投稿は役に立ち、空白文字セットを扱う問題に光を当てますが、なぜ以下が機能しないのかという質問には答えません。
Pattern p = Pattern.compile("adfa =");
Scanner sc = new Scanner("adfa =");
if(sc.hasNext(p))
{
String s = sc.next(p);
System.out.println(">" + s + "<");
}
else
System.out.println(":(");
私がこれを試してみると:
Pattern p = Pattern.compile("\\w+ *=");
次の文字列が取得されます。
"adfa="
だがしかし:
"adfa ="
次の変更を行うだけです。
Pattern p = Pattern.compile("adfa=");
Scanner sc = new Scanner("adfa=");
すべて意図したとおりに機能します!誰かが何が悪いのかを明らかにすることができますか?