加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:18:36 所属栏目:Java 来源:网络整理
导读:是否可以知道流/字符串是否包含可以匹配正则表达式的输入. 例如 String input="AA"; Pattern pat=Pattern.compile("AAAAAB"); Matcher matcher=pat.matcher(input); //-- something here returning true ? 要么 String input="BB"; Pattern pat=Pattern.comp
是否可以知道流/字符串是否包含可以匹配正则表达式的输入.

例如

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读