search
HomeJavajavaTutorialJava Program Example: Demonstrates Escape Characters in Regular Expressions

Java Program Example: Demonstrates Escape Characters in Regular Expressions

Sep 19, 2023 am 09:01 AM
javaregular expressionescape character

Java Program Example: Demonstrates Escape Characters in Regular Expressions

Here, we will demonstrate the escape characters in Regex through a Java program. Before we dive into this topic, let's familiarize ourselves with the terms "escape characters" and "regular expressions."

Regular expression

It is the abbreviation of a regular expression. It is an API that allows users to define string patterns for finding, modifying and editing strings. Regular expressions are often used to define restricted string fields, such as email authentication and passwords. The java.util.regex package contains regular expressions.

Escape characters

When a character is preceded by a backslash (\), it includes numbers, letters, and punctuation marks. The compiler treats these characters differently, and such characters are called escape characters.

Some examples include:

\n - In this example, it is used to add a new line to the text.

\’ - It is used to add a single quote character to the text here.

Methods to escape characters

In order to match special characters in regular expressions, such as dot (.), pound sign (#), etc., these characters that have special meaning to regular expressions must be escaped.

For example, if the dot (.) is not escaped in a regular expression, it will match any character and produce unclear results.

In Java Regex, characters can be escaped in two different ways, which we will examine in detail below.

  • Use \Q and \E to escape

  • Use backslash (\) to escape

Method 1. Use Q and E to escape

To escape characters, we can use the Q and E escape sequences.

The escape sequence starts with the letter Q and ends with the letter E.

Between the letters Q and E, all characters are escaped.

is often used to escape large numbers of characters.

Example 1

The following program demonstrates how using the dot escape character in a regular expression works.

<span style="font-size: 13.125px;">// Java Program to demonstrate how to escape characters in Java
// Regex Using \Q and \E for escaping

import java.io.*;
import java.util.regex.*;
//creation of a class named Regexeg1
public class Regexeg1 {
    // Main method
    public static void main(String[] args) {
        // providing two strings as inputs
        String s1 = "Tutorials.point";
        String s2 = "Tutorialspoint";
        //creation of an object of Pattern class with dot escaped
        </span>Pattern p1 = Pattern.compile("<span>\</span>\Q.<span>\</span>\E");
        //creation of an object of Pattern class without escaping the dot
        Pattern p2 = Pattern.compile(".");
        // Matchers for every combination of patterns and strings
        Matcher m1 = p1.matcher(s1);
        Matcher m2 = p1.matcher(s2);
        Matcher m3 = p2.matcher(s1);
        Matcher m4 = p2.matcher(s2);
        // find whether p1 and p2 match and display the Boolean value as a result
        System.out.println("p1 matches s1: " + m1.find());
        System.out.println("p1 matches s2: " + m2.find());
        System.out.println("p2 matches s1: " + m3.find());
        System.out.println("p2 matches s2: " + m4.find());
    }
}
</span>

Output

p1 matches s1: true
p1 matches s2: false
p2 matches s1: true
p2 matches s2: true

In the above Java program, it shows the use of \Q and \E in regular expressions to escape a string of characters.

Created two input strings, s1 and s2, and two Pattern objects, p1 and p2. Among them, p1 uses \Q and \E to escape the dot character ".", while p2 does not escape. Point character.

Four Matcher objects are created, namely m1, m2, m3 and m4, which are used to match the input string with the Pattern object.

Finally, the program displays the Boolean value true if the Pattern objects p1 and p2 match the input strings s1 and s2 using the Matcher objects m1, m2, m3 and m4, and if they do not match, the Boolean value false.

Method 2. Use backslash (//) as the escape character

Backslash can be used to escape characters.

Since the backslash character is a character of its own, we need two backslashes.

The characters will then be escaped.

It is often used to escape characters at the end of a string.

The Chinese translation of

Example 2

is:

Example 2

The following program demonstrates how escaping characters in regular expressions using backslash (//) works.

// Java Program to demonstrate how to escape characters in Java
// Regex using backslash (\) for escaping
import java.io.*;
import java.util.regex.*;
//creation of a class named Regexeg2
public class Regexeg2 {
    public static void main (String[] args) {
        // providing two strings as inputs
        String s1="Tutorials.point";
        String s2="Tutorialspoint";
        //creation of an object of Pattern class with dot escaped
        Pattern p1=Pattern.compile("<span>\</span>\.");
        //creation of an object of Pattern class without dot escaped
        Pattern p2=Pattern.compile(".");
        //Four matchers for each pattern string combination
        Matcher m1=p1.matcher(s1);
        Matcher m2=p1.matcher(s2);
        Matcher m3=p2.matcher(s1);
        Matcher m4=p2.matcher(s2);
        // find whether p1 and p2 match and display the boolean value as a result
        System.out.println("p1 matches s1: "+m1.find());
        System.out.println("p1 matches s2: "+m2.find());
        System.out.println("p2 matches s1: "+m3.find());
        System.out.println("p2 matches s2: "+m4.find());
    }
}

Output

p1 matches s1: true
p1 matches s2: false
p2 matches s1: true
p2 matches s2: true

In the above Java code, backslashes are used to match special characters in the string, demonstrating the use of escape characters in regular expressions.

Here, two input strings are created, namely s1 and s2, and two Pattern objects p1 and p2, where p1 escapes the dot character "." through backslash, while p2 does not escape the dot character. .

Then four Matcher objects are created, namely m1, m2, m3 and m4, which are used to match the input string with the Pattern object.

Finally, the program uses Matcher objects m1, m2, m3 and m4 to match the input strings s1 and s2. If the Pattern objects p1 and p2 match the input string, the Boolean value true is displayed, and if they do not match, the Boolean value true is displayed. boolean false.

This article explains how to escape characters in regular expressions. The article starts by discussing the terms regular expressions and escape characters, and introduces the two methods and their implementation to have a clear understanding of this topic.

The above is the detailed content of Java Program Example: Demonstrates Escape Characters in Regular Expressions. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:tutorialspoint. If there is any infringement, please contact admin@php.cn delete
How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?Mar 17, 2025 pm 05:46 PM

The article discusses using Maven and Gradle for Java project management, build automation, and dependency resolution, comparing their approaches and optimization strategies.

How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?Mar 17, 2025 pm 05:45 PM

The article discusses creating and using custom Java libraries (JAR files) with proper versioning and dependency management, using tools like Maven and Gradle.

How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?Mar 17, 2025 pm 05:44 PM

The article discusses implementing multi-level caching in Java using Caffeine and Guava Cache to enhance application performance. It covers setup, integration, and performance benefits, along with configuration and eviction policy management best pra

How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?Mar 17, 2025 pm 05:43 PM

The article discusses using JPA for object-relational mapping with advanced features like caching and lazy loading. It covers setup, entity mapping, and best practices for optimizing performance while highlighting potential pitfalls.[159 characters]

How does Java's classloading mechanism work, including different classloaders and their delegation models?How does Java's classloading mechanism work, including different classloaders and their delegation models?Mar 17, 2025 pm 05:35 PM

Java's classloading involves loading, linking, and initializing classes using a hierarchical system with Bootstrap, Extension, and Application classloaders. The parent delegation model ensures core classes are loaded first, affecting custom class loa

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft