为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
qq_花开花谢_0 2022-01-09 15:57:44
嘿,所以我目前的正则表达式是@"(into)(to)add\s[^\s]{1,}\1|\2[^\s]{1,}"我希望输入是“将单词添加到类别中”的东西,正则表达式通常可以正常工作,但只是\1|\2一部分,我尝试使用组和各种解决方案,但我似乎无法弄清楚弄清楚我是如何做到的,以便输入可以是into 或 to谁能帮我吗?(这是在 C# 中并使用Regex类)
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

如果我对您的理解正确,那么您不需要对(未命名的)组的反向引用,您可以使用简单的替代方法,如下所示:

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

这将选择intoto在搜索字符串中。

编辑

让我们使用optional符号 ' ?'更“高级”一点:

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

这将匹配“ in”零次或一次,其次是“ to”,所以它会匹配into以及to,完全按照原来的正则表达式。

编辑2

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

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


查看完整回答
反对 回复 2022-01-09
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

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


查看完整回答
反对 回复 2022-01-09
  • 2 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信