Match a backslash with preg_match() in PHP

backslash with preg_match

Sometimes you need to match a backslash with preg_match, but this is not as straightforward as you might first think!

The preg_match() function is nothing but a perl-compatible regular expression pattern match.

The preg_match() function searches a string for pattern and returning true while pattern exists, otherwise false.

A backslash(“\”) is used to escape a special characters in regular expression so that they will be interpreted literally in the pattern itself.

Backslash Match :

As backslash is used to escape the following character, you can assume that you would escape the backslash with another backslash i.e. “\\”.

But, this is not that thing.

So, to match a literal backslash with preg_match function, you need to use 4 backslashes:

For example,

<?php
preg_match("/\\\\/", $string);
?>

Read Also: Permutation Of Multidimensional Array in PHP

4 Backslashes :

Now you are thinking that you are using 4 backslashes just to match one literal backslash! This is just like every backslash in a C-like string must be escaped by a backslash.

So, this would give you a regular expression with 2 backslashes, however, each backslash must be escaped by a backslash too.

Thus, you can end up with 4 backslashes.

Leave a Reply

Your email address will not be published. Required fields are marked *