RegEx检测一行是否以半冒号结尾

Bru*_*uce 7 regex

我正在尝试运行一些代码文件,并找到不以分号结尾的行.

我目前有这个:^(?:(?!;).)*$从一堆谷歌搜索,它的工作正常.但现在我想扩展它,所以它忽略了一开始的所有空格或特定的关键字,如包或打开和关闭大括号.

最终目标是采取这样的方式:

package example
{
    public class Example
    {
        var i = 0

        var j = 1;

        // other functions and stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

而对于模式显示我var i = 0缺少一个半冒号.这只是一个例子,缺少的半冒号可以在课堂上的任何地方.

有任何想法吗?我已经摆弄了一个多小时但没有运气.

谢谢.

Dam*_*ell 1

尝试这个:

^\s*(?!package|public|class|//|[{}]).*(?<!;\s*)$
Run Code Online (Sandbox Code Playgroud)

在 PowerShell 中测试时:

PS> (gc file.txt) -match '^\s*(?!package|public|class|//|[{}]).*(?<!;\s*)$'
        var i = 0 
PS> 
Run Code Online (Sandbox Code Playgroud)