2012-09-30 135 views
0

我想一组3个的值在下面的正则表达式和输入字符串正则表达式检查

随着SO专家的帮助,这是我有:

string item = "strawb bana 1 10 1.93"; 
string pattern = @"(?<str>[\w\s]*)(?<qty>\s\d*\s)(?<num>\d*\.\d+)"; 

基本上,

第一个值将是产品说明。为了防止描述中包含数字,我在末尾添加了1。

第二个值是数量。

第三个值是价格。

这看起来正确吗?我可能会错过其他案件?

结果应该是以下

Group 1 = "strawb bana 1" 
Group 2 = "10" 
Group 3 = "1.93" 
+0

你为什么不尝试在一堆测试数据? – nneonneo

回答

1

看起来你忘了,包括在第一场比赛的数字。

string item = "strawb bana 1 10 1.93"; 
string pattern = @"(?<str>[\w\s]*)(?<qty>\s\d*\s)(?<num>\d*\.\d+)"; 

应该是:

string item = "strawb bana 1 10 1.93"; 
string pattern = @"(?<str>[\w\s\d]*)(?<qty>\s\d*\s)(?<num>\d*\.\d+)";