我正在尝试运行一些代码文件,并找到不以分号结尾的行.
我目前有这个:^(?:(?!;).)*$从一堆谷歌搜索,它的工作正常.但现在我想扩展它,所以它忽略了一开始的所有空格或特定的关键字,如包或打开和关闭大括号.
最终目标是采取这样的方式:
package example
{
public class Example
{
var i = 0
var j = 1;
// other functions and stuff
}
}
Run Code Online (Sandbox Code Playgroud)
而对于模式显示我var i = 0缺少一个半冒号.这只是一个例子,缺少的半冒号可以在课堂上的任何地方.
有任何想法吗?我已经摆弄了一个多小时但没有运气.
谢谢.
尝试这个:
^\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)