在相同的正则表达式中,执行多个正则表达式操作

时间:2013-07-21 14:52:28

标签: regex nested

如何在同一个正则表达式中对正则表达式组执行新的正则表达式操作? “嵌套正则表达式操作可能吗?”

问候,我有点理解正则表达式如何工作,但我还没能使用正则表达式执行此操作,我可以用c#结合正则表达式。

如例子所示。

“快速的1234眉毛狐狸跳过懒惰的1234狗”

正则表达式(快速的1234眉毛狐狸跳过懒惰) 屈服于“快速的1234眉毛狐狸跳过懒惰”

我正在寻找那个“1234”。从第一个结果。 喜欢 使用正则表达式(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#示例再次使用regex,我面临需要多次重复结果的情况。 显然,这来自于一个c#程序员,我对正则表达式还不是很熟悉,但我正在学习。 在我的困惑中,我陷入困境,目前我无法进一步学习教程而不会煎熬我的大脑。 因此,非常感谢任何有关如何以嵌套正则表达式方式解决此问题的帮助,非常感谢!

1 个答案:

答案 0 :(得分:0)

根据您的描述,您似乎需要使用反向引用构造

Backreference Construct :MSDN

链接页面中有一些示例。使用它可以引用字符串中重复出现的子字符串。