6

最後の文字としてコンマがある場合に一致しない、コンマ区切りの数字のリストに一致する .Net (C#) 正規表現が必要です

123,123,123,123 true - correct match
123,123,123,123, false - comma on end 
123,123,123,,123 false - double comma
,123,123,123,123 false - comma at start
"" false - empty string

123 true - single value

この正規表現を見つけましたが、最後にコンマがある場合に一致します^([0-9]+,?)+$

このパターンに適合する正規表現パターンは何でしょうか?

編集:明確にするために1つの例を追加して、正解が機能するようにしました123

4

3 に答える 3

14

このパターンを使用してみてください:

^([0-9]+,)*[0-9]+$

ここでテストできます。

于 2013-07-19T03:52:47.543 に答える
3

これを試して:

//This regex was provided before the question was edited to say that
//a single number is valid.
^((\d+\s*,\s*)+(\s*)(\d+))$

//In case a single number is valid
^(\d+)(\s*)(,\s*\d+)*$ 

テスト結果はこちら

 123,123,123,123    match
 123,123,123,123,   no match 
 123,123,123,,123   no match
 ,123,123,123,123   no match
 ""                 no match (empty string)
 123                no match for the first regex, match for the second one

正規表現で期待した結果が得られないを参照してください

編集:カンマなしで単一の数字の最後のケースを含めるように正規表現を変更しました。

于 2013-07-19T03:55:16.403 に答える