支持正則表達式(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
相關用法
- Java Pattern asPredicate()用法及代碼示例
- Java Pattern compile(String)用法及代碼示例
- Java Pattern flags()用法及代碼示例
- Java Pattern matcher(CharSequence)用法及代碼示例
- Java Pattern pattern()用法及代碼示例
- Java Pattern quote(String)用法及代碼示例
- Java Pattern splitAsStream()用法及代碼示例
- Java Pattern split(CharSequence)用法及代碼示例
- Java Pattern toString()用法及代碼示例
- Java Pattern split(CharSequence,int)用法及代碼示例
- Java Pattern matches(String ,CharSequence)用法及代碼示例
- Java Pattern compile(String,int)用法及代碼示例
- Java PatternSyntaxException getDescription()用法及代碼示例
- Java PatternSyntaxException getIndex()用法及代碼示例
- Java PatternSyntaxException getMessage()用法及代碼示例
- Java Path compareTo()用法及代碼示例
- Java Path endsWith()用法及代碼示例
- Java Path equals()用法及代碼示例
- Java Path getFileName()用法及代碼示例
- Java Path getFileSystem()用法及代碼示例
- Java Path getNameCount()用法及代碼示例
- Java Path getName(int)用法及代碼示例
- Java Path getParent()用法及代碼示例
- Java Path getRoot()用法及代碼示例
- Java Path hashCode()用法及代碼示例
注:本文由純淨天空篩選整理自singhankitasingh066大神的英文原創作品 Pattern Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。