= Regex Notation =
== Regex Quick Reference ==
^ Symbol ^ Description ^
| [abc] | A single character: a, b or c |
| [^abc] | Any single character but a, b, or c |
| [a-z] | Any single character in the range a-z |
| [a-zA-Z] | Any single character in the range a-z or A-Z |
| ^ | Start of line |
| . | Any single character |
| \s | Any whitespace character |
| \S | Any non-whitespace character |
| \d | Any digit |
| \D | Any non-digit |
| \w | Any word character (letter, number, underscore) |
| \W | Any non-word character |
| (...) | Capture everything enclosed |
| (a|b) | a or b |
| a? | Zero or one of a |
| a* | Zero or more of a |
| a+ | One or more of a |
| a{3} | Exactly 3 of a |
| a{3,} | 3 or more of a |
| a{3,6} | Between 3 and 6 of a |
General Tokens:
^ Symbol ^ Description ^
| \n | Newline |
| \r | Carriage return |
| \t | Tab |
| \f | Form-feed |
| \0 | Null character |
Anchors:
^ Symbol ^ Description ^
| \G | Start of match |
| ^ | Start of string |
| \A | Start of string |
| $ | End of string |
| \Z | End of string |
| \z | Absolute end of string |
| \b | Any word boundary character |
| \B | Any non-word boundary |
| \w | Any word character (letter, number, underscore) |
| \W | Any non-word character |
Flags/Modifiers (eg: "/regex here.../g"):
^ Symbol ^ Description ^
| g | Global (do not return after first match) |
| i | Case insensitive |
| m | Multiline (dot matches newlines, ^ and $ match start/end of line) |
| s | Single line (dot matches newline) |
| u | Unicode (match with full unicode) |
| x | eXtended (ignore whitespace) |
| X | eXtra (disallow meaningless excapes|
| o | Perform #{...} substitutions only once |
| A | Anchored (anchor to start of pattern) |
| J | Duplicate group names (allow duplicate subpattern names) |
| D | Dollar end only ($ matches only end of pattern) |
== Using Regex in PHP ==
Can be used as ''ereg()'' or ''preg_match()''. Here is a comparison:
Using options:
Example using ''preg_replace()'':
// Strip ending commas
$str = preg_replace('/,$/s', '', $str);
// Strip leading/trailing commas with whitespace around
$str = preg_replace('/^[,\s]+|[\s,]+$/', '', $str);
== References ==
* [[http://www.rexegg.com/regex-quickstart.html|Regex Cheat Sheet]]
* [[https://regex101.com|Regex 101]]