それはおそらくばかげた欠点ですが、私は何に一致する必要がある正規表現を持っています
- アララ
- afkdsf []
- afadf43fds ["guyish"]
ただし、数字で始まる文字列ではありません
これがコードです
preg_match('~^[A-Za-z][A-Za-z0-9]*(\[(?P<array>"(?:.*(?:(?<!\\)(?>\\\\)*\").*|.*)+(?:(?<!\\)(?>\\\\)*"))\]|\[\]|)$~',trim($item[0]," \r"),$matches)
しかし、実行するとエラーが発生しますCompilation failed: missing ) at offset 95
ここで実行すると正常に動作しますか?
コードの何が問題になっていますか?
アップデート
読み取り可能な正規表現:
~
^
[A-Za-z]
[A-Za-z0-9]*
(
\[
(?P<array>
"
(?:
.*
(?:
(?<!\\)
(?>\\\\)*
\"
)
.*
|
.*
)+
(?:
(?<!\\)
(?>\\\\)*
"
)
)
\]
|
\[\]
|
)$
~x