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"
4

1 回答 1

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+)";
于 2012-09-30T01:17:11.887 回答