Skip to content
Advertisement

Greater than and less than symbol in regular expressions

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.

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement