多线的正则表达式

时间:2016-04-26 16:15:17

标签: regex

我在编写文件最后一行中最后一行“}”的正则表达式时遇到问题。 例如:

如果这是文件:

    /*
           blas
     */

    import bla;


public class bla {
...

    public void bla (blas){
    ...
    }

...
} //this is the "}"

有人可以帮忙吗? 最好是你有一个想法,最终不依赖于缺少额外评论的缩进(我认为,即使最后有评论,然后他们不包含“}”,这是公平的,但是现在我准备好接受任何事情。

我能做的最好的事情是:^}$,但这取决于适当的缩进。

提前多多感谢。

2 个答案:

答案 0 :(得分:1)

不需要多行修饰符,只需使用此}(?=[^}]*$)
这将找到文件中的最后一个}

如果您只想在最后一行强制查找(?m)^.*(}).*\z

或者,如果最后可见行,则(?m)^.*(}).*\s*\z

答案 1 :(得分:0)

简单如halwa!

使用它:

}.*?$

此处示例:https://regex101.com/r/oM3tW3/1

如果您想返回比赛,请使用:

(}).*?$