- Java Programming Basics
- Java Tutorial
- Java Overview
- Java Environment Setup
- Java Program Structure
- Java Basic Syntax
- Java First Program
- Java Constants
- Java Separators
- Java Keywords
- Java Data Types
- Java Data Types
- Java Integers
- Java Floating Point
- Java Characters
- Java Booleans
- Java Numbers
- Java Programming Variables
- Java Variables
- Java Variable Types
- Java Variable Scope
- Java Type Conversion
- Java Type Casting
- Java Auto Type Promotion
- Java Type Promotion Rules
- Java Programming Arrays
- Java Arrays
- Java One Dimensional Array
- Java Multidimensional Array
- Java Programming Operators
- Java Operators
- Java Arithmetic Operators
- Java Increment Decrement
- Java Bitwise Operators
- Java Left Shift
- Java Right Shift
- Java Relational Operators
- Java Boolean Logical Operators
- Java Ternary(?) Operator
- Java Operator Precedence
- Java Control Statements
- Java Decision Making
- Java if if-else if-else-if
- Java switch Statement
- Java Loops
- Java while Loop
- Java do-while Loop
- Java for Loop
- Java for-each Loop
- Java Nested Loops
- Java break Statement
- Java continue Statement
- Java Class Object Method
- Java Classes and Objects
- Java Class
- Java Object
- Java new Operator
- Java Methods
- Java Constructors
- Java this Keyword
- Java Stack
- Java Overloading Recursion
- Java Method Overloading
- Java Constructor Overloading
- Java Object as Parameter
- Java Call by Value Reference
- Java Returning Objects
- Java Recursion
- Java Modifier Types
- Java Encapsulate Poly String
- Java Encapsulation
- Java Polymorphism
- Java Nested Inner Class
- Java Strings
- Java Command Line Arguments
- Java Variable Length Arguments
- Java Inheritance Abstraction
- Java Inheritance
- Java super Superclass
- Java Multilevel Hierarchy
- Java Method Overriding
- Java Abstraction
- Java Packages Interfaces
- Java Packages
- Java Access Protection
- Java Import Statement
- Java Interfaces
- Java Programming Exceptions
- Java Exception Handling
- Java try catch
- Java throw throws
- Java finally Block
- Java Built In Exceptions
- Java Exception Subclasses
- Java Chained Exceptions
- Java Multithreading
- Java Multithreading
- Java Thread Model
- Java Main Thread
- Java Create Thread
- Java Thread Priorities
- Java Synchronization
- Java Inter Thread Communication
- Java Suspend Resume Stop Thread
- Java Get Thread State
- Java Enum Autobox Annotation
- Java Enumerations
- Java Type Wrappers
- Java Autoboxing
- Java Annotation
- Java Marker Annotations
- Java Single Member Annotation
- Java Built In Annotations
- Java Type Annotations
- Java Repeating Annotations
- Java Data File Handling
- Java Files I/O
- Java Streams
- Java Read Console Input
- Java Write Console Output
- Java PrintWriter Class
- Java Read Write Files
- Java Automatically Close File
- Java Programming Advance
- Java Date and Time
- Java Regular Expressions
- Java Collections Framework
- Java Generics
- Java Data Structures
- Java Network Programming
- Java Serialization
- Java Send Email
- Java Applet Basics
- Java Documentation
- Java Programming Examples
- Java Programming Examples
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:
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:
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:
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:
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:
« Previous Tutorial Next Tutorial »