Eat*_*ode 3 php regex preg-match
它可能是一个愚蠢的错误,但我有一个正则表达式应该匹配
但不是以数字开头的字符串
这是代码
preg_match('~^[A-Za-z][A-Za-z0-9]*(\[(?P<array>"(?:.*(?:(?<!\\)(?>\\\\)*\").*|.*)+(?:(?<!\\)(?>\\\\)*"))\]|\[\]|)$~',trim($item[0]," \r"),$matches)
Run Code Online (Sandbox Code Playgroud)
但是当我执行它时,我得到了错误 Compilation failed: missing ) at offset 95
当我在这里执行它时工作正常吗?
什么错误的代码?
UPDATE
可读的正则表达式:
~
^
[A-Za-z]
[A-Za-z0-9]*
(
\[
(?P<array>
"
(?:
.*
(?:
(?<!\\)
(?>\\\\)*
\"
)
.*
|
.*
)+
(?:
(?<!\\)
(?>\\\\)*
"
)
)
\]
|
\[\]
|
)$
~x
Run Code Online (Sandbox Code Playgroud)