2015-02-11 17 views
3

所以我有這種格式的一個巨大的文本文件行:記事本++ ::發現並不是以特定格式

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

一切看起來都不錯,但我想找到,如果有一條線,是不是在那那巨大的文本文件中的格式:

所以督察......這是每一行的格式爲:

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

我想找到那個巨大的文本行這樣基本的錯誤,如果該線路未for墊以上標記它...

+0

會有負面看法嗎? '(?!...)'不要做詭計嗎? – CD001 2015-02-11 14:38:23

+1

是關於在'Notepad ++'(根據標題)或'PHP'(按照大量標籤)中查找行的問題? – 2015-02-11 14:39:17

回答

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

試試這個看演示。

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

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

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

negative lookahead將確保線路匹配不在所需的格式。