1
我有以下的正則表達式從PHP文件中刪除評論: %/\*.*?\*/%s
如何匹配非包含的東西?
副作用是,上使用glob
像glob($basedir . '/*')
它開始消除一切midcode ...
所以我怎麼告訴正則表達式不匹配時,前面有引號還是後面的引號?
我有以下的正則表達式從PHP文件中刪除評論: %/\*.*?\*/%s
如何匹配非包含的東西?
副作用是,上使用glob
像glob($basedir . '/*')
它開始消除一切midcode ...
所以我怎麼告訴正則表達式不匹配時,前面有引號還是後面的引號?
試試這個:
%[^'"]{1}/\*.*?\*/[^'"]{1}%s
它不僅包括簡單或雙引號前/ *和之後的*/
使用'preg_match'找到,如果有一個在它前面的報價「有任何佔用或者在它後面「,並將其轉換爲布爾值並用於」if-else語句「中。第一個想法在讀完這個後我腦海裏浮現出來的東西 – Leri 2012-07-17 10:27:42
這很不平凡,因爲你當然也可以在評論中引用引號,然後事情變得非常快速。這意味着任何基於正則表達式的解決方案都不是最理想的 - 實質上,您需要一個完整的PHP語言解析器並使用它來正確識別註釋。 – 2012-07-17 10:28:59
除最簡單的情況外,這是無法完成的。最有可能的是,**只有PHP **可以解析PHP(由於正則表達式和其他非平凡的構造)。對於Perl來說,這已經[在很久以前被證明了](http://www.perlmonks.org/?node_id=663393)。 – 2012-07-17 11:25:43