我有这个正则表达式 - “\ ^ CV _(\ w +)? - (\ w +)? - Base”
var matches = new Regex(@"\^CV_(\w+)?-(\w+)?-Base").Matches("EnglUS^CV_Common-Concierge-Base^0^0^0");
var matchGroups = matches[0].Groups;
var parentCatMatch = matchGroups[1].Value;
var childCatMatch = matchGroups[2].Value;
我为上面的值获得了正确的正则表达式匹配和组,但我得到以下一个的例外 -
**Exception:** Specified argument was out of the range of valid values. Parameter name: i
var matches = new Regex(@"\^CV_(\w+)?-(\w+)?-Base").Matches("EnglUS^CV_Common-Base^0^0^0");
var matchGroups = matches[0].Groups;
var parentCatMatch = matchGroups[1].Value;
var childCatMatch = matchGroups[2].Value;
问题:我应该在正则表达式中更改第二个单词块 - “Concierge
”从此单词变为可选 - “EnglUS^CV_Common-Concierge-Base^0^0^0
”
我在网上搜索了这个,但没有得到它的工作,我在正则表达式中的一些变化甚至停止了总匹配,所以如果有更多专业知识的人可以提供帮助,我会在这里发帖。
答案 0 :(得分:3)
答案 1 :(得分:1)
HEAP
这确保了CV_之后的每个组都是(\ w)后跟( - )的形式。并且{1,2}告诉表达式它需要最少1和最多2。