重複の可能性:
文字列に整数とコンマのみを許可する正規表現
コンマで区切られた正の整数のシーケンスに一致する正規表現が必要です。スペースも許可されます。
例えば
706101
、700102
、一致する必要があります700295
が、一致し0, 1, 2, 3
ない必要があります。
私は使用しようとしまし /^\s*(\d+(\s*,\s*\d+)*)?\s*$/
たが、ゼロも受け入れるようです。
重複の可能性:
文字列に整数とコンマのみを許可する正規表現
コンマで区切られた正の整数のシーケンスに一致する正規表現が必要です。スペースも許可されます。
例えば
706101
、700102
、一致する必要があります700295
が、一致し0, 1, 2, 3
ない必要があります。
私は使用しようとしまし /^\s*(\d+(\s*,\s*\d+)*)?\s*$/
たが、ゼロも受け入れるようです。
に置き換える(\d+)
と[1-9]\d*
動作します。例えば:
/^\s*[1-9]\d*(?:\s*,\s*[1-9]\d*)*$/
この正規表現は空の文字列で失敗します (元の投稿のものは失敗しません) が、実際にはそれが意図されていると思います。そうでない場合は、最初の「数値部分」をオプションにします。
このようなものが機能します。\d
主な変更点は、基本的に([0-9])から。への切り替え[1-9]
です。
この正規表現では、などの数字を入力することもできます0001
。
/^(?:0*[1-9]\d*\s*(?:,|$)\s*)+$/gm
言語を指定していないため、フラグが変更される場合があります。これはPCREです。
デモ+説明: http: //regex101.com/r/kN2tW0
これを試して
^([1-9]\d*[\s,]*)+$
このREは、文字列内の任意の場所でスタンドアロンの「0」を持つ文字列を完全に削除します。
試す:
[1-9][0-9]+( *, *[1-9][0-9]+)*