Literals¶
Literals are the simplest form of pattern matching in regular expressions. They will simply succeed whenever that literal is found.
.anyChar¶
Matches any character except a newline.
Example
ExpressiveRegex()\
.anyChar\
.toRegexString()
"."
.whitespaceChar¶
Matches any whitespace character; equivalent to [ \t\n\r\f\v]
.
In Unicode it will match the whole range of Unicode whitespace characters.
Example
ExpressiveRegex()\
.whitespaceChar\
.toRegexString()
"\s"
.nonWhitespaceChar¶
Matches any non-whitespace character; equivalent to [^\s]
.
Example
ExpressiveRegex()\
.nonWhitespaceChar\
.toRegexString()
"\S"
.digit¶
Matches any non-whitespace character; equivalent to [0-9]
.
In Unicode it will match the whole range of Unicode digits.
Example
ExpressiveRegex()\
.digit\
.toRegexString()
"\d"
.nonDigit¶
Matches any non-digit character; equivalent to [^\d]
.
Example
ExpressiveRegex()\
.nonDigit\
.toRegexString()
"\D"
.word¶
Matches any alpha-numeric (a-z, A-Z, 0-9
) characters, as well as _
.
In Unicode it will match the range of Unicode alphanumeric characters
(letters plus digits plus underscore).
Example
ExpressiveRegex()\
.word\
.toRegexString()
"\w"
.nonWord¶
Matches any non alpha-numeric (a-z, A-Z, 0-9
) characters, excluding _
as well.
Example
ExpressiveRegex()\
.nonWord\
.toRegexString()
"\W"
.newline¶
Matches a \n
character.
Example
ExpressiveRegex()\
.newline\
.toRegexString()
"\n"
.carriageReturn¶
Matches a \r
character.
Example
ExpressiveRegex()\
.carriageReturn\
.toRegexString()
"\r"
.tab¶
Matches a \t
character.
Example
ExpressiveRegex()\
.tab\
.toRegexString()
"\t"
.space¶
Matches a character.
Example
ExpressiveRegex()\
.space\
.toRegexString()
" "
.char(c)¶
Matches the exact char c
but scape special characters ('\', '.', '^', '$', '|', '?', '*', '+', '(', ')', '[', ']', '{', '}', '-')
.
Examples
ExpressiveRegex()\
.char('a')\
.toRegexString()
"a"
ExpressiveRegex()\
.char('$')\
.toRegexString()
"\$"
.rawChar(c)¶
Matches the exact char c
and don't scape special characters.
Examples
ExpressiveRegex()\
.rawChar('a')\
.toRegexString()
"a"
ExpressiveRegex()\
.rawChar('$')\
.toRegexString()
"$"
.string(s)¶
Matches the exact string s
but scape special characters ('\', '.', '^', '$', '|', '?', '*', '+', '(', ')', '[', ']', '{', '}', '-')
.
Example
ExpressiveRegex()\
.string('2$')\
.toRegexString()
"2\$"
.rawString(s)¶
Matches the exact string s
and don't scape special characters.
Example
ExpressiveRegex()\
.string('2$')\
.toRegexString()
"2$"
.range(a, b, exclude)¶
Matches any character that falls between a
and b
and don't mathch character
in the exclude set. a
and b
must be same type, a
<=b
and:
- if
"a"
<=a
<="z"
then"a"
<=b
<="z"
- if
"A"
<=a
<="Z"
then"A"
<=b
<="A"
- if
"0"
<=a
<="9"
then"0"
<=b
<="9"
- if
0
<=a
<=9
then0
<=b
<=9
exclude
must be an string or list or tuple of single char string. By default exclude is None
Examples
ExpressiveRegex()\
.range('a','f')\
.toRegexString()
"[a-f]"
ExpressiveRegex()\
.range('a','f', exclude='bd')\
.toRegexString()
"[acef]"
ExpressiveRegex()\
.range('a','f', exclude=['b','d'])\
.toRegexString()
"[acef]"
.anythingButRange(a, b, exclude)¶
Matches any character, except those that would be captured by the .range.
Examples
ExpressiveRegex()\
.anythingButRange('a','f')\
.toRegexString()
"[^a-f]"
ExpressiveRegex()\
.anythingButRange('a','f', exclude='bd')\
.toRegexString()
"[^acef]"
.anyOfChars(chars)¶
Matches any of the characters in the provided string chars
and scape special characters.
Example
ExpressiveRegex()\
.anyOfChars('abd$')\
.toRegexString()
"[abd\$]"
.anythingButChars(chars)¶
Matches any character, except any of those in the provided string chars
and scape special characters.
Example
ExpressiveRegex()\
.anythingButChars('abd$')\
.toRegexString()
"[^abd\$]"