Java Regular Expressions

Regular expressions are basically the sequence of characters, helps in matching the other strings, using a specialized syntax held in a pattern.

Java Regular Expression Example

Here is an example, finds digit string from the given alphanumeric string in Java:

/* Java Program Example - Java Regular Expressions */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JavaProgram
{ 
   public static void main(String args[])
   {
      String str = "This order was placed for QT3000! OK?";
      String pattern = "(.*)(\\d+)(.*)";
      Pattern rep = Pattern.compile(pattern);
      Matcher mat = rep.matcher(str);
      if(mat.find())
      {
         System.out.println("Found value : " + mat.group(0));
         System.out.println("Found value : " + mat.group(1));
         System.out.println("Found value : " + mat.group(2));
      }   
      else
      {
         System.out.println("No Match Found..!!");
      }   
   }
}

Here is the output of the above Java program:

java regular expressions

Here is another example programs, counts the word "cats" present in the string:

/* Java Program Example - Java Regular Expressions */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JavaProgram
{
   private static final String REGEX = "\\bcat\\b";
   private static final String INPUT = "cat cat cat cattie cat";
   public static void main(String args[])
   {
      Pattern pat = Pattern.compile(REGEX);
      Matcher mat = pat.matcher(INPUT); // get a matcher object
      int count = 0;
      while(mat.find())
      {
         count++;
         System.out.println("Match number " + count);
         System.out.println("start() : " + mat.start());
         System.out.println("end() : " + mat.end());
      }
   }
}

Above Java program produce the following output:

regular expressions in java

Here is another program, uses matches and lookingAt methods in Java:

/* Java Program Example - Java Regular Expressions */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
   private static final String REGEX = "foo";
   private static final String INPUT = "fooooooooooooooooo";
   private static Pattern pat;
   private static Matcher mat;
   public static void main(String args[])
   {
      pat = Pattern.compile(REGEX);
      mat = pat.mat(INPUT);
      System.out.println("Current REGEX is : " + REGEX);
      System.out.println("Current INPUT is : " + INPUT);
      System.out.println("lookingAt() : " + mat.lookingAt());
      System.out.println("matches() : " + mat.matches());
   }
}

Here is the output of this Java program:

java matches and lookingAt method

Here is another program, uses replaceFirst and replaceAll methods in Java:

/* Java Program Example - Java Regular Expressions */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
   private static String REGEX = "dog";
   private static String INPUT = "The dog says meow. " + "All dogs say meow";
   private static String REPLACE = "cat";
   public static void main(String args[])
   {
      Pattern patr = Pattern.compile(REGEX);
      Matcher matc = patr.matcher(INPUT);
      INPUT = matc.replaceAll(REPLACE);
      System.out.println(INPUT);
   }
}

Here is the output of the above Java program:

java replacefirst replaceall method

Let's look at another program, uses appendReplacement and appendTail methods in Java:

/* Java Program Example - Java Regular Expressions */

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches
{
   private static String REGEX = "a*b";
   private static String INPUT = "aabfooaabfooabfoob";
   private static String REPLACE = "-";
   public static void main(String args[])
   {
      Pattern patrn = Pattern.compile(REGEX);
      Matcher matc = patrn.matcher(INPUT);
      StringBuffer sbob = new StringBuffer();
      while(matc.find())
      {
         matc.appendReplacement(sbob, REPLACE);
      }
      matc.appendTail(sbob);
      System.out.println(sb.toString());
   }   
}

The above Java program produce this output:

java appendtail appendReplacement method

Java Online Test


« Previous Tutorial Next Tutorial »