Skip to main content

PHP RegEx: With Meta Characters


In our last tutorials regarding ReGex we have some simple pattern of matching. We also use caret (^) For matching at the beginning of the string and (\z) to match at the end of the string. These characters are called Meta Characters and shown below.

a. . (Full stop)
b. ^ (Carat)
c. * (Asterix)
d. + (Plus)
e. ? (Question Mark)
f. { (Opening curly brace)
g. [ (Opening brace)
h. ] (Closing brace)
i. \ (Backslash)
g. | (Pipe)
k. ( (Opening parens)
l. ) (Closing parens)
m. } (Closing curly brace)

Above characters are very useful in terms of ReGex. But if you search a character that include with special character of Meta Characters. Then we need to escape it using backslash.

Sample string: 1+2=3

  1. <?php
  3. // create a string
  4. $string = '1+2=3';
  5. // try to match our pattern
  7. if(preg_match("/^1\+2/i", $string)) {
  9. // if the pattern matches we echo this
  10. echo 'The string begins with 1+2';
  11. } else {
  13. // if no match is found we echo this line
  15. echo 'No match found';
  16. }
  17. ?>

From the code above you will see the script that display:
"The string begins with 1+2" because if found the pattern 1+2 and escape the special meaning of + symbol in Meta characters.
I you would not escape the the character preg_match("/^1+1/i/", $string); then it will display "No match found".

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.