我如何正则表达式多个项目在一个单一的字符串c#
本文关键字:一个 单一 字符串 正则表达式 项目 | 更新日期: 2023-09-27 18:18:53
我的字符串格式如下:
"[Item1],[Item2],[Item3],..."
我希望能够获取item1, item2, item3等
我正在尝试下面的grep表达式:
MatchCollection matches = Regex.Matches(query, @"'[(.*)']?");
但是,它不是匹配每个项目,而是得到"item1][item2][..."
我做错了什么?
您需要使用非贪婪量词,像这样:
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