کاربر:Mardetanha/Regex

از ویکی‌پدیا، دانشنامهٔ آزاد

Regular expressions[ویرایش]

Anchors
^ Start of string
\A Start of string
$ End of string
\Z End of string
\b Word boundary
\B Not word boundary
\< Start of word
\> End of word
Character classes
\c Control character
\s White space
\S Not white space
\d Digit
\D Not digit
\w Word
\W Not word
\x Hexademical digit
\O Octal digit
POSIX
[:upper:] Upper case letters
[:lower:] Lower case letters
[:alpha:] All letters
[:alnum:] Digits and letters
[:digit:] Digits
[:xdigit:] Hexadecimal digits
[:punct:] Punctuation
[:blank:] Space and tab
[:space:] Blank characters
[:cntrl:] Control characters
[:graph:] Printed characters
[:print:] Printed characters and spaces
[:word:] Digits, letters and underscore
Assertions
?= Lookahead assertion
?! Negative lookahead
?<= Lookbehind assertion
?!= or ?<! Negative lookbehind
?> Once-only subexpression
?() Condition [if then]
?()| Condition [if then else]
?# Comment

Derivate work of a cheat sheet created by Dave Child. Released under a Creative Commons license.

Quantifiers
* 0 or more
+ 1 or more
? 0 or 1
{3} Exactly 3
{3,} 3 or more
{3,5} 3, 4, or 5
Quantifier modifers
"x" below represents a quantifier
x? Ungreedy version of "x"
Escape character
\ Escape character
Metacharacters (must be escaped)
^ [ .
$ { *
( \ +
) | ?
< >
Special characters
\n New line
\r Carriage return
\t Tab
\v Vertical tab
\f Form feed
\xxx Octal character xxx
\xhh Hex character hh
Groups and ranges
. Any character except new line (\n)
(a|b) a or b
(...) Group
(?:...) Passive group
[abc] Range (a or b or c)
[^abc] Not a or b or c
[a-q] Letter between a and q
[A-Q] Upper case letter between A and Q
[0-7] Digit between 0 and 7
\n nth group / subpattern
Note: Ranges are inclusive.
Pattern modifiers
g Global match
i Case-insensitive
m Multiple lines
s Treat string as single line
x Allow comments and white space in pattern
e Evaluate replacement
U Ungreedy pattern
String replacement (backreferences)
$n nth non-passive group
$2 "xyz" in /^(abc(xyz))$/
$1 "xyz" in /^(?:abc)(xyz)$/
$` Before matched string
$' After matched string
$+ Last matched string
$& Entire matched string
Sample patterns
Pattern Will match
([A-Za-z0-9-]+) Letters, numbers, and hyphens
(\d{1,2}\/\d{1,2}\/\d{4}) Date (e.g., 21/3/2006)
([^\s]+(?=\.(jpg|gif|png))\.\2) .jpg, .gif, or .png image
(^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$) Any number from 1 to 50 inclusive
(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?) Valid hexadecimal color code
((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15}) String with at least one upper case letter, one lower case letter, and one digit (useful for passwords).
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}) E-mail addresses
(\<(/?[^\>]+)\>) HTML tags
Note: These patterns are intended for reference purposes and have not been extensively tested. Please use with caution and test thoroughly before use.