Notepad++:: 查找非特定格式的行

Notepad++:: Find lines that NOT in a particular format

所以我有一个这种格式的巨大文本文件:

$transation[123456]='Table9912333';
$transation[123457]='Table8123321';
$transation[123458]='Chair0123334';

一切看起来都不错,但我想知道在那个巨大的文本文件中是否有一行不是那种格式的:

所以 IOW...这是每一行的格式:

$transation[{ANY NUMBER}]='{ANY TEXT}';\r\n

我想在那个巨大的文本行上找到一个错误,所以基本上如果该行不是上面的格式,请标记它...

^(?!$transation\[\d+\]='[^']*';$).*$

尝试 this.See 演示。

https://regex101.com/r/qH1uG3/5

$re = "/^(?!\$transation\[\d+\]='[^']*';$).*$/m";
$str = "$transation[123456]='Table9912333';\n$transation[123457]='Table8123321';\n$transation[123458]='Chair0123334';\n$transation[123458]='Chair0123334'sdfds;";

preg_match_all($re, $str, $matches);

negative lookahead 将确保匹配的行不符合要求的格式。