【发布时间】:2014-05-07 10:52:34
【问题描述】:
我写了一个正则表达式为
^\s*(?=.*[1-9])\d*(?:\.\d{1,3})?\s*$
对于接受一个点的货币格式,但我也需要接受逗号。那么如何修改上面接受逗号的正则表达式呢?
示例:1,20,000.000 2,000.000 3,30,30,000.000
【问题讨论】:
标签: javascript asp.net
我写了一个正则表达式为
^\s*(?=.*[1-9])\d*(?:\.\d{1,3})?\s*$
对于接受一个点的货币格式,但我也需要接受逗号。那么如何修改上面接受逗号的正则表达式呢?
示例:1,20,000.000 2,000.000 3,30,30,000.000
【问题讨论】:
标签: javascript asp.net
修改为:
^\s*(?=.*[1-9])\d+[,\.\d]+$
【讨论】:
.,.,.,
试试 "(\d{1,3}[,.])+\d{3}"
string pattern = @"(\d{1,3}[,.])+\d{3}";
Regex r = new Regex(pattern, RegexOptions.None);
string s = "1,20,000.000 2,000.000 3,30,30,000.000";
foreach (Match m in r.Matches(s))
{
Console.WriteLine(m.Value);
}
【讨论】: