正常表达3组检查

时间:2012-09-30 01:13:49

标签: c# regex

我想在以下正则表达式和输入字符串

中包含一组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"

1 个答案:

答案 0 :(得分: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+)";