skip to main |
skip to sidebar
Special Sequences
- \w - Any “word” character (a-z 0-9 _)
- \W - Any non “word” character
- \s - Whitespace (space, tab CRLF)
- \S - Any non whitepsace character
- \d - Digits (0-9)
- \D - Any non digit character
- . - (Period) – Any character except newline
Meta Characters
- ^ - Start of subject (or line in multiline mode)
- $ - End of subject (or line in multiline mode)
- [ - Start character class definition
- ] - End character class definition
- | - Alternates, eg (a|b) matches a or b
- ( - Start subpattern
- ) - End subpattern
- \ - Escape character
Quantifiers
- n* - Zero or more of n
- n+ - One or more of n
- n ? - Zero or one occurrences of n
- {n} - n occurrences exactly
- {n,} - At least n occurrences
- {,m} - At most m occurrences
- {n,m} - Between n and m occurrences (inclusive)
Pattern Modifiers
- i - Case Insensitive
- m - Multiline mode - ^ and $ match start and end of lines
- s - Dotall - . class includes newline
- x - Extended– comments and whitespace
- e - preg_replace only – enables evaluation of replacement as PHP code
- S - Extra analysis of pattern
- U - Pattern is ungreedy
- u - Pattern is treated as UTF-8
Point based assertions
- \b - Word boundary
- \B - Not a word boundary
- \A - Start of subject
- \Z - End of subject or newline at end
- \z - End of subject
- \G - First matching position in subject
Assertions
- (?=) - Positive look ahead assertion foo(?=bar) matches foo when followed by bar
- (?!) - Negative look ahead assertion foo(?!bar) matches foo when not followed by bar
- (?<=) - Positive look behind assertion (?<=foo)bar matches bar when preceded by foo
- (? - Negative look behind assertion (?
- (?>) - Once-only subpatterns (?>\d+)bar Performance enhancing when bar not present
- (?(x)) - Conditional subpatterns
- (?(3)foo|fu)bar - Matches foo if 3rd subpattern has matched, fu if not
- (?#) - Comment (?# Pattern does x y or z)
Download PHP Regex Cheat sheet
3 comments:
June 10, 2008 at 9:48 AM
Thanks for this cheatsheet - I will definitely visit this page again and again.
Just one thing - you need to escape your HTML in your example of a negative lookbehind assertion as it's reading part of the line as a comment!
June 20, 2008 at 1:43 AM
Thanx for your comments..i'l try to improve the things
March 11, 2011 at 8:34 PM
This is a nice article..
Its very easy to understand ..
And this article is using to learn something about it..
php tutorial
Thanks a lot..!
Post a Comment