Regular Expression Escape Character: Backslash "\"

What is regex backslash "\" meta-character?

Explanation

In Regular Expression usually a pattern should be within the delimiters "/../" or even "|..|" can also be used.

The "\" (backslash) meta-character is used to specify that the next character as either a special character, a literal, a back reference, or an octal escape.

All these "^.[$()|*+?{\" special characters has to be escaped or treat as ordinary character using the backslash "\" symbol.

Few Possible Matches:


$string = "T^he $[(value)] o|f + can be a"
Using the preg_match command in PHP following are the results.
'/^(.*)/' Result: ^he $[(value)] o|f + can be a
'/$(.*)/' Result: $[(value)] o|f + can be a
'/+(.*)/' Result: + can be a
'/((.*)/' Result: (value o|f + can be a
'/\(.*)/' Result: can be a

PHP Example:


<?php
$string = 'T^he $[(value o|f + can be a' ;
preg_match('/^(.*)/', $string, $matches);
echo $matches[0];
print "<br>";
preg_match('/^(.*)/',$string, $matches);
echo $matches[0];
?>
Result :

^he $[(value o|f + can be a
T^he $[(value o|f + can be a

In the above regex example we have matched the "^", with and without the "backslash", when used without the "\" the string is printed from the beginning as it behave's as a string, but when used without a backslash its print's a string from the beginning, as it behaves like a meta-character.

Perl Example:


#! C:programfilesperlbinperl
print "content-type: text/htmlnn";
if ("This is a (templateVar)" =~ m/[()]/)
print "match!n";
else
print "no match!n";
Result :

match!

In the second example brackets "(" is escaped or made known as the next character using the backslash meta-character, since the string has brackets it matches.


Ask Questions

Ask Question