如何在我的正则表达式中使用 C# 中未命名的正则表达式组?

how can I use unnamed Regex groups in C# inside my regex?

嘿所以我当前的正则表达式是 @"(into)(to)add\s[^\s]{1,}|[^\s]{1,}" 我希望输入是 "add word into/to category" 正则表达式一般工作正常但只有 | 部分,我尝试使用组和所有各种解决方案,但我似乎无法弄清楚如何才能使输入可以是 into or to

谁能帮帮我? (这是在 C# 中使用 Regex class)

根据您给出的示例,我认为您正在寻找像 add\s\w+\s(into|to)\s\w+ 这样的正则表达式。您当前的正则表达式仅匹配以 "intoto" 开头的字符串,这可能不是您想要的。

如果我没理解错的话,那么你不需要对(未命名的)组的反向引用,你可以使用一个简单的交替,就像这样:

@"add \w+ (into|to) \w+"

这将 select 在搜索字符串中 intoto

编辑:

让我们再多一点 'advanced',使用 optional 符号 '?':

@"add \w+ (in)?to \w+"

这将匹配“in”零次或一次,然后是“to”,因此它将匹配 intoto,完全一样原始正则表达式。

编辑2:

我有一种感觉,你想在你的正则表达式中使用一个变量,你当然可以这样做:

string search = "into|to";
RegEx regEx = new ReqEx(@"add \w+ (" + search + ") \w+");