积极的向前看与计数条件

时间:2017-03-21 16:31:48

标签: regex

我一整天都在找这个正则表达式:

/.+?(?=\}\s*,)/

这意味着:在找到}(any whitespace),之前尽可能少地匹配任何字符,而不计算}(any whitespace),

但是,我需要它来计算}(any whitespace),

我的整个正则表达式如下:

\s*MT_(F[0-9A-Z]+)\s+\{\s+@Override[\s\S]*?(?=\}\s*,)

并应选择:

  MT_F102 {
        @Override
        public F102 func1() {
        }

        @Override
        public String func2() {
        }
    }

请告诉我该怎么做。

谢谢! :)

1 个答案:

答案 0 :(得分:0)

您可以删除前瞻并使用

/.+?}\s*,/

详细信息

  • .+?-除换行符以外的任何1个或更多字符,应尽可能少
  • }-一个}字符
  • \s*-超过0个空格
  • ,-逗号。

在更大的正则表达式中实现它:

/\s*MT_(F[0-9A-Z]+)\s+\{\s+@Override[\s\S]*?\}\s*,/

请参见regex demo