Regex – Match Any Character(s)

In regular expressions, we can match any character using period "." character. To match multiple characters or a given set of characters, we should use character classes.

1. Matching a Single Character Using Regex

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.

Pattern
Description
. (Dot)
Matches only a single character.
A.B
Matches only a single character at second place in a 3 character long string where the string starts with ‘A’ and ends with ‘B’.
[abc]
Matches only a single character from a set of given characters.
[aA]
Matches only a single character ‘a’, case-insensitive.
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args)
    {
        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. Matching Range of Characters

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

Pattern
Description
[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’.
import java.util.regex.Pattern;

public class Main
{
	public static void main(String[] args)
	{
		System.out.println(Pattern.compile("[a-f]").matcher("b").matches());	//true
		System.out.println(Pattern.compile("[a-f]").matcher("g").matches());	//false

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

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

3. Matching Multiple Characters

If we want to match a set of characters at any place then we need to use a wild card character ‘*‘ (asterisk) which matches 0 or more characters.

Pattern
Description
.*
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.
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 !!

Was this post helpful?

Join 7000+ Awesome Developers

Get the latest updates from industry, awesome resources, blog updates and much more.

* We do not spam !!

1 thought on “Regex – Match Any Character(s)”

  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

HowToDoInJava

A blog about Java and related technologies, the best practices, algorithms, and interview questions.