I am new to regular expressions, and I am just tired by really studying all of the regex charatcer and all. I need to know what is the purpose of greater than symbol in regex for eg:
preg_match('/(?<=<).*?(?=>)/', 'sadfas<email@email.com>', $email);
Please tell me the use of greater than symbo and less than symbol in regex.
Advertisement
Answer
The greater than symbol simply matches the literal >
at the end of your target string.
The less than symbol is not so simple. First let’s review the lookaround syntax:
The pattern (?<={pattern})
is a positive lookbehind assertion, it tests whether the currently matched string is preceded by a string matching {pattern}
.
The pattern (?={pattern})
is a positive lookahead assertion, it tests whether the currently matched string is followed by a string matching {pattern}
.
So breaking down your expression
(?<=<)
assert that the currently matched string is preceded by a literal<
.*?
match anything zero or more times, lazily(?=>)
assert than the currently matched string is followed by a literal>
Putting it all together the pattern will extract email@email.com
from the input string you have given it.