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
将确保匹配的行不符合要求的格式。
所以我有一个这种格式的巨大文本文件:
$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
将确保匹配的行不符合要求的格式。