嘿,所以我当前的正则表达式是@"(into)(to)add\s[^\s]{1,}\1|\2[^\s]{1,}"
,我希望输入内容是“将单词添加到类别中”,总的来说,正则表达式可以正常工作,但仅\1|\2
部分,我尝试使用组和各种各样的解决方案,但我似乎无法弄清楚如何做到这一点,以使输入可以是into
或 to
有人可以帮我吗? (这在C#中并使用Regex
类)
答案 0 :(得分:0)
从您给出的示例中,我认为您正在寻找像add\s\w+\s(into|to)\s\w+
这样的正则表达式。您当前的正则表达式仅匹配以“ intoto”开头的字符串,这可能不是您想要的。
答案 1 :(得分:0)
如果我对您的理解正确,那么您就不需要反向引用(未命名的)组,您可以使用一个简单的替代方法,如下所示:
@"add \w+ (into|to) \w+"
这将在搜索字符串中选择into
或to
。
修改:
使用optional
符号'?
'让我们更加“先进”:
@"add \w+ (in)?to \w+"
这将与“ in
”匹配零次或一次,后跟“ to
”,因此它将与原始匹配的into
和to
正则表达式。
Edit2 :
我有一种感觉,您想在RegEx中使用一个变量,您当然可以这样:
string search = "into|to";
RegEx regEx = new ReqEx(@"add \w+ (" + search + ") \w+");