Coder Social home page Coder Social logo

cheatsheets.pdf's Introduction

Regular Expression Cheat Sheet - PCRE

Anchor Description Example Valid match Invalid
^ start of string or line ^foam foam bath foam
\A start of string in any match mode \Afoam foam bath foam
$ end of string or line finish$ finish finnish
\Z end of string, or char before last new line in any match mode finish\Z finish finnish
\z end of string, in any match mode.
\G end of the previous match or the start of the string for the first match ^(get|set)|\G\w+$ setValue seValue
\b word boundary; position between a word character (\w), and a nonword character (\W) \bis\b This island is beautiful This island isn't beautiful
\B not-word-boundary. \Bland island peninsula
Assertion Description Example Valid match Invalid
(?=...) positive lookahead question(?=s) questions question
(?!...) negative lookahead answer(?!s) answer answers
(?<=...) positive look-behind (?<=appl)e apple application
(?<!...) negative look-behind (?<!goo)d mood good
Char class Description Example Valid match Invalid
[ ] class definition [axf] a, x, f b
[ - ] class definition range [a-c] a, b, c d
[ \ ] escape inside class [a-f.] a, b, . g
[^ ] Not in class [^abc] d, e a
[:class:] POSIX class [:alpha:] string 0101
. match any chars except new line b.ttle battle, bottle bttle
\s white space, [\n\r\f\t ] good\smorning good morning good.morning
\S no-white space, [^\n\r\f\t] good\Smorning goodmorning good morning
\d digit \d{2} 23 1a
\D non-digit \D{3} foo, bar fo1
\w word, [a-z-A-Z0-9_] \w{4} v411 v4.1
\W non word, [^a-z-A-Z0-9_] .$%? .$%? .ab?
Special character Description
|general escape
\n new line
\r carriage return
\t tab
\v vertical tab
\f form feed
\a alarm
[\b] backspace
\e escape
\cchar Ctrl + char(ie:\cc is Ctrl+c)
\ooo three digit octal (ie: \123)
\xhh one or two digit hexadecimal (ie: \x10)
\x{hex} any hexadecimal code (ie: \x{1234})
\p{xx} char with unicode property (ie: \p{Arabic}
\P{xx} char without unicode property
Sequence Description Example Valid match Invalid
| alternation apple|orange apple, orange melon
( ) subpattern foot(er|ball) footer or footbal footpath
(?P<name>...) subpattern, and capture submatch into name (?P<greeting>hello) hello hallo
(?:...) subpattern, but does not capture submatch (?:hello) hello hallo
+ one or more quantifier ye+ah yeah, yeeeah yah
* zero or more quantifier ye*ah yeeah, yeeeah, yah yeh
? zero or one quantifier yes? yes, ye yess
?? zero or one, as few times as possible (lazy) yea??h yeah yeaah
+? one or more lazy /<.+?>/g <P>foo</P> matches only <P> and </P>
*? zero or more, lazy /<.*?>/g <html>
{n} n times exactly fo{2} foo fooo
{n,m} from n to m times go{2,3}d good,goood gooood
{n,} at least n times go{2,} goo, gooo go
(?(condition)...) if-then pattern (<)?[p](?(1)>) <p>, p <p
(?(condition)...|...) if-then-else pattern `^(?(?=q)que ans)` question, answer
Pattern modifier Description
g global match
i case-insensitiv, match both uppercase and lowercase
m multiple lines
s single line (by default)
x ingore whitespace allows comments
A anchored, the pattern is forced to ^
D dollar end only, a dollar metacharacter matches only at the end
S extra analysis performed, useful for non-anchored patterns
U ungreedy, greedy patterns becomes lazy by default
X additional functionality of PCRE (PCRE extra)
J allow duplicate names for subpatterns
u unicode, pattern and subject strings are treated as UTF-8

cheatsheets.pdf's People

Contributors

demidovakatya avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.