我有這個複雜的PHP我複製在線:如何在PHP中運行這個正則表達式?
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
如何在PHP運行呢?我試試這個:
$test = 'Joe Doe <[email protected]>, [email protected], root, "Bob Smith" <[email protected]>';
$regex = '/[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/';
print preg_match_all($regex, $test , $matches);
print_r($matches);
我試圖逃避它,但複雜性逃避我。
編輯:在線正則表達式測試表明,該正則表達式是正確的,我只是不知道如何得到它到PHP:
http://regexpal.com/?flags=g®ex=%5Ba-z0-9!%23%24%25%26%27*%2B%2F%3D%3F%5E_%60%7B%7C%7D~-%5D%2B(%3F%3A%5C.%5Ba-z0-9!%23%24%25%26%27*%2B%2F%3D%3F%5E_%60%7B%7C%7D~-%5D%2B)*%40(%3F%3A%5Ba-z0-9%5D(%3F%3A%5Ba-z0-9-%5D*%5Ba-z0-9%5D)%3F%5C.)%2B%5Ba-z0-9%5D(%3F%3A%5Ba-z0-9-%5D*%5Ba-z0-9%5D)%3F&input=Joe%20Doe%20%3Cdoe%40example.com%3E%2C%20postmaster%40example.com%2C%20root%2C%20%22Bob%20Smith%22%20%3Cbob%40smith.com%3E
我會非常謹慎使用,你在網上找到不理解其實際作用的代碼。 –
我完全同意,但這只是一個正則表達式,它的工作原理,你知道,真實的世界時間壓力等。 – Bill
你說「它有效」,但如果你不知道*它如何工作,怎麼做你知道它適用於你需要的所有方法嗎?不要自欺欺人地認爲這只是一個「正則表達式」。 **正則表達式是代碼** –