支持正则表达式(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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。