Java Pattern matcher(CharSequence)方法及示例
Pattern 类的 matcher(CharSequence) 方法用于生成一个匹配器,该匹配器将有助于将给定的输入作为参数与该模式的方法匹配。Pattern.matches()方法在我们需要对一个文本进行一次性的模式检查时非常有用,而且Pattern类的默认设置也很合适。
语法
public Matcher matcher(CharSequence input)
参数: 该方法接受一个 输入 参数,代表要匹配的字符序列。
返回值: 该方法为该模式返回一个新的匹配器。
下面的程序说明了 matcher(CharSequence) 方法。
程序 1 :
// Java program to demonstrate
// Pattern.matcher(CharSequence) method
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
// create a REGEX String
String REGEX = "(.*)(ee)(.*)?";
// create the string
// in which you want to search
String actualString
= "geeksforgeeks";
// create a Pattern
Pattern pattern = Pattern.compile(REGEX);
// get a matcher object
Matcher matcher = pattern.matcher(actualString);
// print values if match found
boolean matchfound = false;
while (matcher.find()) {
System.out.println("found the Regex in text:"
+ matcher.group()
+ " starting index:" + matcher.start()
+ " and ending index:"
+ matcher.end());
matchfound = true;
}
if (!matchfound) {
System.out.println("No match found for Regex.");
}
}
}
输出:
found the Regex in text:geeksforgeeks starting index:0 and ending index:13
程序2
// Java program to demonstrate
// Pattern.matcher(CharSequence) method
import java.util.regex.*;
public class GFG {
public static void main(String[] args)
{
// create a REGEX String
String REGEX = "(.*)(welcome)(.*)?";
// create the string
// in which you want to search
String actualString
= "geeksforgeeks";
// create a Pattern
Pattern pattern = Pattern.compile(REGEX);
// get a matcher object
Matcher matcher = pattern.matcher(actualString);
// print values if match found
boolean matchfound = false;
while (matcher.find()) {
System.out.println("match found");
matchfound = true;
}
if (!matchfound) {
System.out.println("No match found");
}
}
}
输出:
No match found
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html#matcher(java.lang.CharSequence)。