1
我有以下從舊腳本ereg表達式preg_match。但正則表達式並不是我最強烈的一點,所以我不確定在哪裏改變什麼。如何將以下POSIX正則表達式轉換爲Perl兼容正則表達式庫?PHP:from ereg to preg_match
if (!preg_match("^[^@]{1,64}@[^@]{1,255}$", $email))
if (!preg_match("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&?'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i]))
if (!preg_match("^\[?[0-9\.]+\]?$", $email_array[1]))
if (!preg_match("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|?([A-Za-z0-9]+))$", $domain_array[$i]))
在此先感謝。
乾杯,H
感謝您的快速回復,但仍問題與第二表達: '未知的修飾「=」' [編輯]納米,固定它! –
你在那個正則表達式中有'+/=?',如果你用'/'作爲分隔符,那麼之後的所有東西都被解釋爲修飾符。通過在它之前添加反斜槓(\\)來逃避該字符。 – thwd
對preg_matches的最後一個,我得到這個錯誤'警告:preg_match()[function.preg-match]:編譯失敗:沒有重複在偏移45' ...任何線索是什麼導致這一點。 –