java.util.regex.Pattern可以做部分匹配吗?

是否可以知道流/字符串是否包含可以匹配正则表达式的输入.

例如

String input="AA";
 Pattern pat=Pattern.compile("AAAAAB");
 Matcher matcher=pat.matcher(input);
 //<-- something here returning true ?

要么

String input="BB";
 Pattern pat=Pattern.compile("AAAAAB");
 Matcher matcher=pat.matcher(input);
 //<-- something here returning false ?

谢谢

解决方法

是的,Java提供了一种方法.首先,您必须调用一个标准方法来应用正则表达式,如matches()或find().如果返回false,可以使用hitEnd()方法来确定一些较长的字符串是否可以匹配:
String[] inputs = { "AA","BB" };
Pattern p = Pattern.compile("AAAAAB");
Matcher m = p.matcher("");
for (String s : inputs)
{
  m.reset(s);
  System.out.printf("%s -- full match: %B; partial match: %B%n",s,m.matches(),m.hitEnd());
}

输出

AA -- full match: FALSE; partial match: TRUE
BB -- full match: FALSE; partial match: FALSE

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...