当前位置:首页 > 开发 > 编程语言 > Java > 正文

Java java.util.regex

发表于: 2013-10-14   作者:alleni123   来源:转载   浏览次数:
摘要: 这个package下有两个class,一个是Pattern,一个是Matcher Pattern负责存放正则表达式, 而Matcher存放要读取的数据。 假如我们有一个字符串"hello world", 而我们要查询里面是否包含wo 就是 Pattern p=new Pattern("wo"); //这里讲wo作为正则表达式传输到了Patt
这个package下有两个class,一个是Pattern,一个是Matcher

Pattern负责存放正则表达式, 而Matcher存放要读取的数据。
假如我们有一个字符串"hello world", 而我们要查询里面是否包含wo
就是

Pattern p=new Pattern("wo");
//这里讲wo作为正则表达式传输到了Pattern对象里面

Matcher m=p.matcher("hello world");
//这里的“hello world”就是要读取的数据。

接下来我们就可以调用Matcher的方法来获取结果。
首先看一下boolean matches()
文档上写的是:Attempts to match the entire region against the pattern.
也就是说这里要用正则式"wo"来匹配"hello world"整句,因此
m.matches()必定会返回false。


比较常用的方法是boolean find()
Attempts to find the next subsequence of the input sequence that matches the pattern.
这里会对数据对象进行逐个的判断,一旦发现匹配的, 就会返回true。
这里要注意的是当发现匹配的字符串以后, 游标会指向这个字符串后边的位置,
比如:
Pattern p= Pattern.compile("\\d{4}");

Matcher m=p.matcher("2222-333344");

System.out.println(m.find());
System.out.println(m.find());
System.out.println(m.find());
这里会返回 true, true, false
也就是说第一次匹配到2222, 第二次匹配到3333,
这是游标已经到了4这个位置, 也就不会再匹配到任何符合正则式的字符串了。
最终就返回false。

接下来是String group()
这个方法要和find()一起使用,
假如我们在上面的代码的每一个find()的下面加入
System.out.println(m.group());
那么就会显示结果:
2222
3333
Exception in thread "main" java.lang.IllegalStateException: No match found

由于第三个匹配对象不存在, 所以就会抛出异常


通过这个方法我们就可以对文本对象进行解析, 获取自己想要的内容。

Java java.util.regex

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1 java
一、new 关键字 当一个引用类型的变量在声明的时候,由于没有被初始化,它不指向任何对象实例。使用ne
2 java
一、接口: 接口对期成员变量和方法有很多限制: 1.接口中的成员变量默认都是public、static、final
3 java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月
4 java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月
5 java
<转>axis2创建web service 关键字: axis2创建web service axis2创建web service 作者:张涛 a
6 Java
1、抽象类与接口区别,何时使用抽象类,何时使用接口? 语法上区别: (1)接口是一种规范的体现,
7 Java
Ehcache 是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hiber
8 Java
什么是POP3、SMTP和IMAP? POP3 POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定
9 java
Java正则表达式详解 2005-10-08 10:01作者:仙人掌工作室出处:KissJava.com责任编辑:王玉涵 <!
10 java
0. 构造方法不能被继承! 1. String 有一个缓冲池机制, String a=”12”; String b=”12” , if(a=
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号