当前位置:首页 > 编程笔记 > 正文
已解决

Java Pattern正则匹配,并获取匹配内容

来自网友在路上 174874提问 提问时间:2023-11-03 04:08:19阅读次数: 74

最佳答案 问答题库748位专家为你答疑解惑

java.util.regex 包主要包括以下三个类:

Pattern 类:

  • pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

Matcher 类:

  • Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

Pattern正则匹配,并获取匹配内容

public static void main(String[] args) {String str = "bjp13766805130asf1111";Pattern pattern = Pattern.compile("[0-9]*\\.?[0-9]+");Matcher matcher = pattern.matcher(str);while (matcher.find()) {//3->14//17->21System.out.println(matcher.start() + "->" + matcher.end());System.out.println("");System.out.println(str.substring(matcher.start(), matcher.end()));//13766805130//1111}
}

find():是否存在与该模式匹配的下一个子序列。简单来说就是在字符某部分匹配上模式就会返回true,同时匹配位置会记录到当前位置,再次调用时从该处匹配下一个。

Matcher中的start()和end()。start(),点进方法可以看到返回的是上一个匹配项的起始索引,如果没有匹配项将抛出IllegalStateException异常。同理,end()则为结束的索引。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Java Pattern正则匹配,并获取匹配内容":http://eshow365.cn/6-30761-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!