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

嘿,所以我目前的正则表达式是@"(into)(to)add\s[^\s]{1,}\1|\2[^\s]{1,}"我希望输入是“将单词添加到类别中”的东西,正则表达式通常可以正常工作,但只是\1|\2一部分,我尝试使用组和各种解决方案,但我似乎无法弄清楚弄清楚我是如何做到的,以便输入可以是into  to

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


qq_花开花谢_0
浏览 160回答 2
2回答

缥缈止盈

如果我对您的理解正确,那么您不需要对(未命名的)组的反向引用,您可以使用简单的替代方法,如下所示:@"add \w+ (into|to) \w+"这将选择into或to在搜索字符串中。编辑:让我们使用optional符号 ' ?'更“高级”一点:@"add \w+ (in)?to \w+"这将匹配“ in”零次或一次,其次是“ to”,所以它会匹配into以及to,完全按照原来的正则表达式。编辑2:我有一种感觉,你想在你的 RegEx 中使用一个变量,你当然可以这样做:string search = "into|to"; RegEx regEx = new ReqEx(@"add \w+ (" + search + ") \w+");

慕尼黑的夜晚无繁华

从您给出的示例中,我认为您正在寻找像add\s\w+\s(into|to)\s\w+. 您当前的正则表达式仅匹配以“intoto”开头的字符串,这可能不是您想要的。
打开App,查看更多内容
随时随地看视频慕课网APP