2.5 KiB
obj | aliases | wiki | |
---|---|---|---|
concept |
|
https://en.wikipedia.org/wiki/Regular_expression |
Regex
A regular expression (shortened as regex or regexp), is a sequence of characters that specifies a match pattern in text. Usually such patterns are used by string-searching algorithms for "find" or "find and replace" operations on strings, or for input validation.
Anchors
^
Matches the beginning of the string or line.
Example: ^word
$
Matches the end of the string or line.
Example: \.txt$
Flags
i
: Makes the expression case insensitiveg
: Ensures that the expression does not stop on the first match
Group & References
()
Groups an expression.
Example: (ha)+
\1
References a grouped expression. \1
references the first group, \2
the second and so on.
Example: (ha)\s\1
(?:)
Makes a grouping that cannot be referenced.
Example: (?:ha)+
Character Classes
[abc]
Matches any character in the set.
Example: b[eo]r
[^abc]
Matches any character not in the set.
Example: b[^eo]r
[a-z]
Matches all characters between two characters, including themselves.
Example: [e-i]
.
Matches any character except line breaks.
\w
Matches any alphanumeric character. Including the underline.
\W
Matches any non-alphanumeric character.
\d
Matches any numeric character.
\D
Matches any non-numeric character.
\s
Matches any whitespace character.
\S
Matches any non-whitespace character.
Lookarounds
(?=)
Positive Lookahead.
Example: \d(?=after)
(?!)
Negative Lookahead.
Example: \d(?!after)
(?<=)
Positive Lookbehind.
Example: (?<=behind)\d
(?<!)
Negative Lookbehind.
Example: (?<!behind)\d
Quantifiers And Alternation
+
Expression matches one or more.
Example: be+r
*
Expression matches zero or more.
Example: be*r
{}
Expression matches within specified ranges (matches this many times):
- Match exactly:
{4}
- Match minimum:
{4,}
- Match between:
{4,9}
Example:be{1,2}r
?
Makes the expression optional or lazy.
Example: colou?r
|
Works like OR. It waits for one of the expressions it reserved to match.
Example: (c|r)at
Common Regular Expressions
- IPv4-Address:
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
- MAC-Address:
(?:[0-9a-fA-F]{2}\:){5}[0-9a-fA-F]{2}
- Hex Color Codes:
^#?([a-fA-F0-9]{6})$
- Mail Address:
^([a-zA-Z0–9._%-]+@[a-zA-Z0–9.-]+\.[a-zA-Z]{2,6})*$