Regular Expressions 101

Community Patterns

nested if..elsif..else..endif

0

Regular Expression
PCRE (PHP <7.3)

/
(?P<nested> \b if \b (?P<if>(?>.?(?>(?P>nested))?)*?) (?: \b elsif \b (?P<elsif>(?>.?(?>(?P>nested))?)*?) )? (?: \b else \b (?P<else>(?>.?(?>(?P>nested))?)*?) )? \b endif \b )?
/
ixs

Description

catchs multiple elsifs in the only elsif group take care of keywords in comments, mask out them first

Submitted by anonymous - 4 years ago