アプリケーションでは、ユーザーが入力した文字列を検証する必要があります。
1 つの数値、または範囲 ('-' で区切られた 2 つの数値)、またはカンマ区切りの数値および/または範囲のリスト、および任意の数値は 1 から 999999 の間である必要があります。
カンマまたは「-」の前後にスペースを入れることができます。
次の正規表現がそれを行うと思いました。
(\d{1,6}\040?(,|-)?\040?){1,}
これは以下と一致します (これは優れています)。(\040
正規表現の はスペースの文字です)。
- 00001
- 12
- 20,21,22
- 100-200
- 1,2-9,11-12
- 20、21、22
- 100 - 200
- 1、2 - 9、11 - 12
ただし、次のものでも一致します。
- !!!12
ここで何が欠けていますか?