How do you match any one character with a regular expression?
I am writing this question and the following answer for a general reference. A number of other questions on Stack Overflow sound like they promise a quick answer, but are actually asking something more specific.
To match a character having special meaning in regex, you need to use a escape sequence prefix with a backslash ( \ ). E.g., \. matches "." ; regex \+ matches "+" ; and regex \( matches "(" . You also need to use regex \\ to match "\" (back-slash).
Use \s to match any single whitespace character.
To match any character except a list of excluded characters, put the excluded charaters between [^ and ] . The caret ^ must immediately follow the [ or else it stands for just itself. The character '. ' (period) is a metacharacter (it sometimes has a special meaning).
$ means "Match the end of the string" (the position after the last character in the string).
.
character as a wildcard to match any single character.Example regex: a.c
abc // match a c // match azc // match ac // no match abbc // no match
[]
to match any characters in a set.\w
to match any single alphanumeric character: 0-9
, a-z
, A-Z
, and _
(underscore).\d
to match any single digit.\s
to match any single whitespace character.Example 1 regex: a[bcd]c
abc // match acc // match adc // match ac // no match abbc // no match
Example 2 regex: a[0-7]c
a0c // match a3c // match a7c // match a8c // no match ac // no match a55c // no match
Use the hat in square brackets [^]
to match any single character except for any of the characters that come after the hat ^
.
Example regex: a[^abc]c
aac // no match abc // no match acc // no match a c // match azc // match ac // no match azzc // no match
(Don't confuse the ^
here in [^]
with its other usage as the start of line character: ^
= line start, $
= line end.)
Use the optional character ?
after any character to specify zero or one occurrence of that character. Thus, you would use .?
to match any single character optionally.
Example regex: a.?c
abc // match a c // match azc // match ac // match abbc // no match
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With