簡體   English   中英

如何在正則表達式中的C#中使用未命名的正則表達式組?

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

嘿,所以我當前的正則表達式是@"(into)(to)add\\s[^\\s]{1,}\\1|\\2[^\\s]{1,}"我希望輸入是“ add一般說來,“正則表達式”可以正常工作,但僅使用\\1|\\2部分,我嘗試使用組和各種解決方案,但似乎無法弄清楚如何使之成為輸入可以into to

誰能幫我嗎? (這在C#中並使用Regex類)

從您給出的示例中,我認為您正在尋找正則表達式,例如add\\s\\w+\\s(into|to)\\s\\w+ 您當前的正則表達式僅匹配以“ intoto”開頭的字符串,這可能不是您想要的。

如果我正確地理解了您,那么您就不需要向后引用(未命名的)組,可以使用一個簡單的替代方法,如下所示:

@"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+");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM