1

コンマがある場合、次のテキストが1桁または2桁の数値になるようにする正規表現を作成しようとしています。

これが私がこれまでに持っているものです。

(^\d{0,2})+(,\d{0,2})*$

ほとんどの場合は機能しますが、以下が有効であると見なされます。

12,22,,,,,,,,,, and 12,22,,,,,,,,,,12,12

私は何を間違えましたか?ありがとう!

4

3 に答える 3

6

\d{0,2}「0から2桁の間」を意味します。そのはず\d{1,2}

于 2013-04-22T21:27:10.073 に答える
4

コンマの後に1または2ではなく0から2の数字を一致させています。次のようにしてください

(^\d{1,2})+(,\d{1,2})*$
于 2013-04-22T21:30:48.383 に答える
3

否定先読みを使用して、コンマの後に 3 桁がないことを主張し、メインの正規表現を単純に「すべてのコンマまたは数字」のままにします。

^(?!.*,\d{3})[,\d]+$
于 2013-04-22T21:26:42.717 に答える