次の正規表現は、1 ~ 3 桁の任意のグループと、4 つの非空白文字の任意のグループを表します。
^([\d]{1,3})?(\S{4})?$
私の問題は、444EEE を入力すると、最初のグループを 444 として最初に一致させ、末尾の EEE が 4 文字で構成されていないために終了するのではなく、Java がそれを 44 + 4EEE として一致させることです。では、どうすれば最後のグループの左向きの貪欲さを回避できるので、最後から 2 番目のグループが最初に消費します。「?+」ですか
ありがとうございました