正则表达式字符串应仅包含双引号和逗号分隔数字

时间:2016-07-20 06:55:56

标签: c# .net regex

我有以下字符串

"56565665,5656565,5656556"

我想检查字符串是否只能包含双引号,逗号和数字。

为此我尝试创建一个正则表达式^"\d+\,,但它只选择第一个字符串。

我是regex的新手。

3 个答案:

答案 0 :(得分:3)

您可以使用libcrypto.so

confirmation of sorts a year ago

上查看

在C#中,由于转义字符

,它看起来像这样
Linux

在评论中有关如何将其与变量一起使用的更新:

^"[\d,]+"$

答案 1 :(得分:1)

试试这个,希望这会奏效 " ^ [0-9,] + $"

答案 2 :(得分:1)

您可以尝试以下模式:

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

甚至

 \A"[0-9]+(,[0-9]+)*"\z //  Wiktor Stribiżew's idea, see his comment below 

E.g。

 string source = @"""123,456,789""";
 string pattern = @"\A""[0-9]+(,[0-9]+)*""\z";

 bool result = Regex.IsMatch(source, pattern);

试验:

 "123"       - true  // just a number
 "123,456"   - true  // two numbers separated by comma
 "1,2,3,4"   - true  // four numbers separated by comma 
 ","         - false // just a comma, no numbers
 ",123"      - false // leading comma
 "123,"      - false // trailing comma
 "123,,456"  - false // double comma