You need 4 backslashes to represent 1 in regex because:
- 2 backslashes are used for unescaping in a string (
"\\\\" -> \\
) - 1 backslash is used for unescaping in the regex engine (
\\ -> \
)
From the PHP doc,
escaping any other character will result in the backslash being printed too1
Hence for \\\[
,
- 1 backslash is used for unescaping the
\
, one stay because\[
is invalid ("\\\[" -> \\[
) - 1 backslash is used for unescaping in the regex engine (
\\[ -> \[
)
Yes it works, but not a good practice.