4

我想匹配其中包含多个逗号的值。我只能用 1 个逗号匹配值。正则表达式:(\$\d+\,\d+) 示例值:$567,76 但我需要匹配此值$567,76,87,但此正则表达式不起作用。

4

3 回答 3

6

试试这个模式,也许它会有所帮助。

^\$\d+(,\d+)*$

这将匹配

$567
$567,76
$567,76,87

但不是

$567,76,87,
于 2013-04-24T06:13:52.170 回答
1

double.Parse(currency, NumberStyles.Currency)您可以使用而不是使用正则表达式来解析值。

于 2013-04-24T06:14:42.413 回答
1

试试这样;

^\$\d+(,\d+)+$

一些随机匹配;

$1622,40,749
$37,5844

Regex r = new Regex(@"^\$\d+(,\d+)+$");

string[] partNumbers = { "$567,76", "$567,76,87", "$567,76,87," };
foreach (var i in partNumbers)
{
       Console.WriteLine("{0} {1} a valid part number.", i, r.IsMatch(i) ? "is" : "is not");
}

$567,76 is a valid part number.
$567,76,87 is a valid part number.
$567,76,87, is not a valid part number.

这是一个DEMO.

于 2013-04-24T06:15:18.457 回答