當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。