0

次の正規表現と入力文字列に 3 つの値のグループが必要です

SOの専門家の助けを借りて、これは私が持っているものです:

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

基本的、

最初の値は製品の説明になります。説明に数字が含まれている場合に備えて、最後に 1 を付けます。

2 番目の値は数量です。

3 番目の値は価格です。

これは正しく見えますか?他のケースを見逃す可能性はありますか?

結果は次のようになります

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 に答える