2014-10-17 79 views
0

第一個preg_match是第32行。我想象第二個preg_match會給出同樣的錯誤。 我該如何解決這個問題?謝謝。正則表達式難度

Warning: preg_match(): No ending delimiter '^' found in 
C:\xampp\htdocs\(...)\index.php on line 32 



if (preg_match('^(?=.{4,20}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$', 
$userCreation)) { 
    if(preg_match('^([[email protected]\s]{4,30})$', $passwordCreation)) { 
+0

問題的標題寫作的難度? – mario 2014-10-17 01:10:11

回答

1

使用分隔符(/)在正則表達式的開頭和結尾:

if (preg_match('/^(?=.{4,20}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$/', 
$userCreation)) { 
    if(preg_match('/^([[email protected]\s]{4,30})$/', $passwordCreation)) { 
+0

很高興提及它們不必是'/' - 它可以是任何符號。就像他所擁有的那樣 - 正則表達式以'^'開始,最後期望'^'。 – Cheery 2014-10-17 00:54:22

+0

@Cheery是的,謝謝你的提示。 – 2014-10-17 00:58:43