2013-07-21 58 views
0

如何在同一個正則表達式表達式中對正則表達式組執行新的正則表達式操作? 「嵌套正則表達式操作可能?」在相同的正則表達式中,執行多個正則表達式操作

問候,我有點理解正則表達式的工作原理,但我還沒有能夠執行此操作,但使用正則表達式,我可以用c#與正則表達式結合使用。

如同例子。

正則表達式(快速1234brown狐狸跳過懶惰)「快速1234brown狐狸在懶惰1234dog跳」 收益率「快速1234brown狐狸跳過懶惰」

而且即時尋找那「1234」。從第一個結果。 Like 使用正則表達式(1234)來「快速1234布朗狐狸跳過懶惰」 這將返回「1234」。


在c#中能夠通過多次使用正則表達式來完成這項工作。

string test_string = "The quick 1234brown fox jumps over the lazy 1234dog"; 
    string clipped_text = ""; 
    string end_result = ""; 

    var match = Regex.Match(test_string, "quick 1234brown fox jumps over the lazy", RegexOptions.Singleline); 
    if (match.Success) 
    { 
     clipped_text = match.Value; 

     match = Regex.Match(clipped_text, "1234", RegexOptions.Singleline); 
     if (match.Success) 
      end_result = match.Value; 
    } 

我想要做同樣的事情,只用一個正則表達式。 當然,這個例子非常簡單,可以使用/ w。* []等其他基本的正則表達式規則來完成。 但我不得不簡化我的例子到這個級別,以獲得明確的答案。 假設上面的c#示例regexes本身再次,我面臨的情況下,我需要多次正則表達結果多次。 很明顯,這是來自一個C#程序員,即時通訊還不是很熟悉正則表達式,但即時通訊學習。 在我的困惑中,我陷入困境,目前我無法進一步教程而沒有油炸我的大腦。 所以任何關於如何解決這個嵌套regexes方式的幫助將不勝感激,非常感謝你!

+0

我不確定你在做什麼?你正在尋找一個在同一字符串中進一步重複的數字嗎?需要一個* back-reference *? –

回答

0

從你的描述這聽起來像你需要使用反向引用構造

Backreference Construct :MSDN

裏有鏈接的頁面的例子。使用這個你可以引用一個字符串中的一個子字符串的重複出現。