0

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

问候,我有点了解 regex 的工作原理,但我还不能使用 regex 执行此操作,我可以使用 c# 与 regex 结合来执行此操作。

如示例所示。

《敏捷的1234棕狐跳过懒惰的1234dog》

正则表达式(quick 1234brown fox jumps over the lazy)产生“quick 1234brown fox jumps over the lazy”

我正在寻找那个“1234”。从第一个结果开始。就像使用正则表达式 (1234) 来“快速 1234brown fox 跳过懒惰的人”,这将返回“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# 示例再次正则表达式本身,我面临需要多次正则表达式结果的情况。显然,这来自于作为 ac# 程序员,我对正则表达式还不是很熟悉,但我正在学习。在我的困惑中,我被卡住了,目前我不能在不烧脑的情况下继续学习教程。因此,任何有关如何以嵌套正则表达式方式解决此问题的帮助将不胜感激,非常感谢!

4

1 回答 1

0

从您的描述看来,您需要使用反向引用构造

反向引用构造:MSDN

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

于 2013-07-21T15:02:36.487 回答