1

私の文字列は次の形式です:

"[Item1],[Item2],[Item3],..."

item1、item2、item3 などを取得できるようにしたいです。

次のgrep式を試しています:

MatchCollection matches = Regex.Matches(query, @"\[(.*)\]?");

ただし、アイテムごとに一致するのではなく、取得しています"item1][item2][..."

私が間違っていることは何ですか?

4

1 に答える 1

5

次のように、貪欲でない quantifierを使用する必要があります。

MatchCollection matches = Regex.Matches(query, @"\[(.*?)\]?");

または、次のような文字を除外する文字クラス]:

MatchCollection matches = Regex.Matches(query, @"\[([^\]]*)\]?");

その後、次のように一致にアクセスできます。

matches[0].Groups[1].Value // Item1
matches[1].Groups[1].Value // Item2
matches[2].Groups[1].Value // Item3
于 2013-06-18T22:01:35.447 に答える