これは最終的にはより大きな式の一部になりますが、ここではより単純な形式に縮小しました (つまり、ここで可能な 19 文字ではなく、40 文字の可能性があります)。次の入力があるとします。
;123?T
この正規表現に対して成功した一致を取得します。
^(?:;(\d{0,19})\?.){1,40}$
ただし、この正規表現とは一致しません。
^(?:;(\d{0,19})\?.){3,40}$
私が変更しているのは最小の長さだけで、どちらも入力が満たす必要があります。最初のものは一致を見つけ、2番目のものは見つけられないのはなぜですか? 多分私はこの量指定子を理解していないだけかもしれませんが、単純に {MIN, MAX} だと思っていました。
また、次のオンライン テスターの両方でこれをテストしました。