当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Pattern用法及代码示例


支持正则表达式(Regex)的两个类如下,Pattern pattern()Matcher pattern()。这两个类一起工作。用简单的语言来说,我们可以将它们视为,如果我们想定义一个模式(正则表达式),那么我们使用模式类如果我们想将该模式与任何其他序列进行匹配,那么我们使用匹配器类.

Pattern Class

如下图所示,模式类属于java.util.regex(包),包属于java.base(模块)。模式类没有定义构造函数。那么,让我们看看如何创建模式。该模式是使用compile()工厂方法创建的。

句法:

static Pattern compile(String pattern)

这里,compile方法中的模式是一个字符串。然后,该字符串 (pattern ) 被转换为一个模式,现在可以由 Matcher 类用于模式匹配。模式匹配后,它返回包含该模式的Pattern 对象。此处创建的 Pattern 对象现在将用于创建 Matcher。 Matcher是通过调用Pattern定义的matcher()方法创建的。

用法:

Matcher matcher(CharSequence x)

这里,x 是模式将匹配的字符序列。由于这是您正在获取的输入,因此也称为输入序列。 CharSequence 是一个提供对字符集的只读访问的接口。

示例 1:

Java


// Java Program to Demonstrate Pattern Class
// Importing required classes
import java.util.regex.*;
// Main class
class GFG {
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a pattern
        Pattern pattern = Pattern.compile("GeeksforGeeks");
        // Creating a matcher for the input
        Matcher matcher = pattern.matcher("GeeksforGeeks");
        // Checking for a match
        // using matches() method
        boolean letsCheck = matcher.matches();
        // Display message only
        System.out.println(
            " Let us check whether the pattern matches or not:");
        // Condition check whether pattern is matched or not
        if (letsCheck)
            // Matched
            System.out.println("Pattern Matched");
        else
            // Not matched
            System.out.println("Pattern does not match");
    }
}


输出
 Let us check whether the pattern matches or not:
Pattern Matched

示例 2:

Java


// Java Program to Demonstrate Pattern Class
// via usage of find() method
// Importing required classes
import java.util.regex.*;
// Main class
class GFG {
    // Main driver method
    public static void main(String[] args)
    {
        // Creating a pattern
        Pattern pattern = Pattern.compile("GeeksforGeeks");
        // Creating a matcher for the input
        Matcher matcher = pattern.matcher(
            "GFG stands for GeeksforGeeks");
        // Display message only
        System.out.println(
            "Checking for GFG in GeeksforGeeks: ");
        // Determining if the input sequence contains the
        // subsequence that matches the pattern
        // using find() method
        if (matcher.find())
            // Found
            System.out.println("subsequence GFG found");
        else
            // Not found
            System.out.println("subsequence GFG not found");
    }
}


输出
Checking for GFG in GeeksforGeeks: 
subsequence GFG found


相关用法


注:本文由纯净天空筛选整理自singhankitasingh066大神的英文原创作品 Pattern Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。