私の文字列は次の形式です:
"[Item1],[Item2],[Item3],..."
item1、item2、item3 などを取得できるようにしたいです。
次のgrep式を試しています:
MatchCollection matches = Regex.Matches(query, @"\[(.*)\]?");
ただし、アイテムごとに一致するのではなく、取得しています"item1][item2][..."
私が間違っていることは何ですか?
次のように、貪欲でない 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