3
由於一些NDA,我真正能夠在這裏披露的信息量很小。不幸的是,我沒有人對我有一個答案,所以我轉向堆棧溢出。基礎是這樣的:在PHP中,我使用HTTP(使用cURL或file_get_contents)從SVN存儲庫下載大型文件(73000個字符),並搜索規則。所有的規則都標註有@rule,所以正則表達式找到他們應該是preg_match無法找到簡單的正則表達式
/(?<[email protected]).+?$/im
我測試過它,它的工作原理。問題是,即使文件被正確下載並轉換爲一個字符串(var_dumps,保證了本)
preg_match('/RU/',$file, $rules);
離開$規則完全是空的,儘管我可以在var_dumped串看到相應的匹配。我在智慧的最後想要弄清楚發生了什麼。沒有錯誤被拋出(它返回0),它似乎沒有用完內存,它只是告訴我「不,沒有任何內容,喬治。」有趣的是,它會發現
/R/
就好。那裏有任何想法?
是大小寫敏感的一個問題?規則vs規則vs規則?嘗試'preg_match('/ RU/i',$ file,$ rules);'? – drew010 2012-08-10 01:37:31
用一些可以顯示字符代碼的編輯器來檢查,在文本中'U'與你在正則表達式中指定的'U'相同 – zerkms 2012-08-10 01:45:19
如果你嘗試stristr(),結果如何?只是爲了確認它是preg_match而不是別的...... – HappyTimeGopher 2012-08-10 01:47:36