我在這裏看到過類似的問題,但我不認爲他們中的任何一個都對此有所幫助。PHP:這個preg_match從ereg轉換出什麼問題
我從一個使用舊版本PHP的人,特別是ereg函數繼承了一個站點。他們原來的REG EX是:
$regex = "[ ]+[0-9]+) ([a-zA-Z]+)[ ]+Crimson[ ]+([0-9]+)[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+([0-9]+)[ ]+[0-9]+";
我讀過,你需要開始和以分隔符結尾,所以我已經將它更新爲:
$regex = "/[ ]+[0-9]+) ( [a-zA-Z]+)[ ]+Crimson[ ]+([0-9]+)[ ]+[0-9]+[ ]+[0-9]+[ ]+[0-9]+[ ]+([0-9]+)[ ]+[0-9]+/";
但我仍然得到這個錯誤:
Warning: preg_match(): Compilation failed: unmatched parentheses at offset 10
我沒有看到任何表達的特殊字符,所以我不確定到別的什麼,我需要逃跑。有任何想法嗎?
有第一個'[0-9 +)'後閉合支架 - 沒有匹配的開口之一。 – andrewsi
讓我們看... **不匹配的括號** ...表達式中的第一個paren(偏移量爲10的那個)是*閉合*而不是打開...嗯...... – Jon
您應該使用重複運算符而不是按順序複製和粘貼'[0-9]'。 –