Regex – Match Any Character(s)

In regex, we can match any character using period “.” character. To match only a given set of characters, we should use character classes.

Java regex

In this Regular expression tutorial, learn to match a single character appearing once, a single character appearing multiple times, or a specific set of characters.

In regular expressions:

  • To match any character, use the dot "." pattern.
  • To match a single character (or multiple characters) zero or more times, use ".*" pattern.
  • To match multiple characters or a given set of characters, use the character classes.

1. Match Any Character

By default, the '.' dot character in a regular expression matches a single character without regard to what character it is. The matched character can be an alphabet, a number or, any special character.

To create more meaningful patterns, we can combine the dot character with other regular expression constructs.

PatternDescription
. (Dot)Matches only a single character.
A.BMatches only a single character at second place in a 3 character long string where the string starts with ‘A’ and ends with ‘B’.
Pattern.compile(".").matcher("a").matches();    //true
Pattern.compile(".").matcher("ab").matches();   //false

Pattern.compile("A.B").matcher("AIB").matches();    //true
Pattern.compile("A.B").matcher("ABI").matches();    //false

Pattern.compile("A[abc]B").matcher("AaB").matches();    //true
Pattern.compile("A[abc]B").matcher("AkB").matches();    //false

2. Match Any Character from the Specified Range

If we want to match a range of characters at any place, we need to use character classes with a hyphen between the ranges. e.g. ‘[a-f]’ will match a single character which can be either of ‘a’, ‘b’, ‘c’, ‘d’, ‘e’ or ‘f’.

PatternDescription
[abc]Matches only a single character from a set of given characters.
[aA] Matches only a single character ‘a’, case-insensitive.
[a-f]Matches only a single character in the range from ‘a’ to ‘f’.
[a-z]Matches only a single lowercase character in the range from ‘a’ to ‘z’.
[A-Z]Matches only a single uppercase character in the range from ‘A’ to ‘Z’.
[a-zA-Z]Matches only a single character in the range from ‘a’ to ‘z’, case-insensitive.
[0-9]Matches only a single number in the range from ‘0’ to ‘9’.
Pattern.compile("[a-f]").matcher("b").matches();	//true
Pattern.compile("[a-f]").matcher("g").matches();	//false

Pattern.compile("[a-zA-Z]").matcher("a").matches();	//true
Pattern.compile("[a-zA-Z]").matcher("B").matches();	//true
Pattern.compile("[a-zA-Z]").matcher("4").matches();	//false

Pattern.compile("[0-9]").matcher("9").matches();	//true
Pattern.compile("[0-9]").matcher("91").matches();	//false

3. Match Any Character: Zero or More Occurrences

The asterisk (*) is used with any regex pattern for matching zero or more occurrences within strings.

PatternDescription
.*Matches any number of characters including special characters.
[0-9]*Matches any number of digits.
[a-zA-Z]*Matches any number of alphabets.
[a-zA-Z0-9]* Matches any number of alphanumeric characters.
https?://.*?(?:\s|$)Matches URLs from Text
\(.*\)Matches text between parentheses
Pattern.compile(".*").matcher("abcd").matches();                    //true
Pattern.compile("[a-zA-Z]*").matcher("abcd").matches();             //true
Pattern.compile("[0-9]*").matcher("01234").matches();               //true
Pattern.compile("[a-zA-Z0-9]*").matcher("a1b2c3").matches();       //true

Happy Learning !!

Leave a Comment

  1. I want to write a regex that matches any of the exact names (case insensitive) i provide. For example: the answer to a question could be any of the following “tom, peter, nancy, bill, novak”. So if the response is “Tom” or “tom” or “tOm” or “PETER” or “Peter”, the validation should come out as true. But if the response is “Tomas” or “peterson” or “billboard”, then the response is invalid.

    Reply

Leave a Comment

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions and frequently asked interview questions.