`

Java java.util.regex

阅读更多
这个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 正则表达试

    jakarta-oro.jar 及代码 import org.apache.oro.text.regex.MalformedPatternException; import org.apache.oro.text.regex.MatchResult; import org.apache.oro.text.regex...import org.apache.oro.text.regex.Util;

    article-regex-primer.rar_The Few

    Reading the javadoc forjava.util.regex. Pattern is a must to see how the Java regex patterns aredi erent from other languages such as Perl. Most of the functions discussed herin are from thejava....

    pattern-dissector:探索 java.util.regex.Pattern 类的内部结构

    探索 Java 正则表达式语法的更多细节,并了解Pattern类中的引擎如何实际解释正则表达式。 不是通过文档(通过合同)推断正则表达式的含义,这允许我们直接验证引擎如何解释正则表达式。 自该项目开始(2014 年 2 ...

    java SE API

    java.util.regex java.util.zip javax.accessibility javax.activity javax.crypto javax.crypto.interfaces javax.crypto.spec javax.imageio javax.imageio.event javax.imageio.metadata javax.imageio...

    spring jdbctemplate 封裝

    import java.util.regex.PatternSyntaxException; import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans....

    wsdl文件解析

    import java.util.regex.*; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; //import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; //import org.dom4j....

    Javase-6.0_中文API_HTML(最新更新)

    java.util.regex java.util.spi java.util.zip javax.accessibility javax.activation javax.activity javax.annotation javax.annotation.processing javax.crypto javax.crypto.interfaces javax.crypto...

    jdk 中文版

    java.util.regex java.util.spi java.util.zip javax.accessibility javax.activation javax.activity javax.annotation javax.annotation.processing javax.crypto javax.crypto.interfaces javax.crypto...

    i18n Tools helper

    import java.util.regex.Matcher; import java.util.regex.Pattern; /** * . <p/> @author George Wei */ public class I18nTool { private static final String TEMP_RES_ENCODING = "gbk"; private static ...

    javafxHtml编辑器.doc

    ava.util.concurrent.atomic java.util.concurrent.locks java.util.function java.util.jar java.util.logging java.util.prefs java.util.regex java.util.spi

    JAVA_API1.6文档(中文)

    java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的类。 javax.accessibility 定义了用户...

    java统计字符串出现次数算法--StringCounter(算法源码)

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringCounter { /** * 正则统计字符串出现次数 * * @param source * @param regexNew * @return int */ public ...

    The Java Developers Almanac

    java.util.regex [26 examples] java.util.zip [9 examples] javax.accessibility [7 examples] javax.crypto [14 examples] javax.imageio [6 examples] javax.naming [9 examples] ...

    java解析给定url

    import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 现在要求用Java编写一个程序,该程序访问上面的URL,并从页面中, * 提取出上图所示位置的页面信息(仅图中所要求的内容),将其内容按...

    JavaSE-6.0-英文手册(2008/11/30_FullUpdate)

    java.util.regex java.util.spi java.util.zip javax.accessibility javax.activation javax.activity javax.annotation javax.annotation.processing javax.crypto javax.crypto.interfaces javax.crypto...

    regexutil_1.2.4.zip

    使用方法:直接放入eclipse的plug目录即可 在MyEclipse中选择window-->show view--other Regex Util即可

    计算器代吗

    import java.util.regex.Pattern; import com.android.xiong.gridlayoutTest.R.id; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; ...

    Java正则表达式使用

    一:抓取网页中的Email地址 利用正则表达式匹配网页中的文本 代码如下: [\\w[.-]]+@[\\w[.-]]+\\.[\\w]+ ...import java.util.regex.Matcher; import java.util.regex.Pattern; public class EmailSpider { p

    [Java参考文档].JDK_API 1.6

    java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的类。 javax.accessibility 定义了用户界面...

    JavaAPI中文chm文档 part2

    java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的类。 javax.accessibility 定义了用户...

Global site tag (gtag.js) - Google Analytics