Wednesday, September 18, 2013

Java - String/Regex matches() for Starts With/Ends With/Contains Check

Parameter:

regex -- the regular expression to which this string is to be matched.

Return Value:

This method returns true if, and only if, this string matches the given regular expression. 

Example:


public class TestRegex {
    public static void main(String args[]){
        String Str = new String("Welcome to pritomkumar.blogspot.com");

        System.out.print("Contains 'pritom': " );
        System.out.println(Str.matches("(.*)pritom(.*)"));

        System.out.print("Starts with 'Welcome': " );
        System.out.println(Str.matches("Welcome(.*)"));

        System.out.print("Ends with '.com': " );
        System.out.println(Str.matches("(.*).com"));

        System.out.print("Starts with small characters: " );
        System.out.println(Str.matches("[a-z](.*)"));

        System.out.print("Starts with cap characters: " );
        System.out.println(Str.matches("[A-Z](.*)"));

        System.out.print("Starts with digits: " );
        System.out.println(Str.matches("[0-9](.*)"));
    }
} 
 

OUTPUT:

Contains 'pritom': true
Starts with 'Welcome': true
Ends with '.com': true
Starts with small characters: false
Starts with cap characters: true
Starts with digits: false 
 
Table 1.  Common matching symbols

Regular ExpressionDescription
.Matches any character
^regexregex must match at the beginning of the line
regex$Finds regex must match at the end of the line
[abc]Set definition, can match the letter a or b or c
[abc][vz]Set definition, can match a or b or c followed by either v or z
[^abc]When a "^" appears as the first character inside [] when it negates the pattern. This can match any character except a or b or c
[a-d1-7]Ranges, letter between a and d and figures from 1 to 7, will not match d1
X|ZFinds X or Z
XZFinds X directly followed by Z
$Checks if a line end follows


Table 2:  Meta-characters
Regular ExpressionDescription
\dAny digit, short for [0-9]
\DA non-digit, short for [^0-9]
\sA whitespace character, short for [ \t\n\x0b\r\f]
\SA non-whitespace character, for short for [^\s]
\wA word character, short for [a-zA-Z_0-9]
\WA non-word character [^\w]
\S+Several non-whitespace characters
\bMatches a word boundary. A word character is [a-zA-Z0-9_] and \b matches its bounderies.
Table 3: Quantifier
Regular ExpressionDescriptionExamples
*Occurs zero or more times, is short for {0,}X* - Finds no or several letter X, .* - any character sequence
+Occurs one or more times, is short for {1,}X+ - Finds one or several letter X
?Occurs no or one times, ? is short for {0,1}X? -Finds no or exactly one letter X
{X}Occurs X number of times, {} describes the order of the preceding liberal\d{3} - Three digits, .{10} - any character sequence of length 10
{X,Y}Occurs between X and Y times,\d{1,4}- \d must occur at least once and at a maximum of four
*?? after a quantifier makes it a reluctant quantifier, it tries to find the smallest match.

No comments:

Post a Comment