`

Java 正则表达式 (1) -- java.util.regex.* 介绍

    博客分类:
  • Java
阅读更多
1、Java 1.4之后的版本引进了一个用于处理正则表达式的包 java.util.regex.*; 该包主要包含三个类:
  • Pattern : 用来表示一个经过编译处理后的正则表达式。通俗一点来说,就是用一个类来表示一个正则表达式,这个类是从正则表达式构造得到的。这个类并没有public constructor, 如果想得到一个这个类的一个对象则必须调用该类的public static方法:public static Pattern compile(String regex)或者 public static Pattern compile(String regex,int flags)。这两个方法返回一个Pattern型的对象。
  • Matcher : 解释Pattern并执行匹配、查找工作的类,跟Pattern类一样,这个类也没有定义public constructor,要想获得一个Matcher对象必须调用Pattern类的方法 public Matcher matcher(CharSequence input) 来得到。
  • PatternSyntaxException : 一个unchecked exception。当遇到不符和Java正则表达式的语法的时候程序就会抛出这个异常。
2、一个例子(摘自java.sun.com
<!---->package regex;

import
 java.io.Console;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexTestHarness {
    
public static void main(String [] args) {
        Console console 
= System.console();
        
if (console == null) {
            System.err.println(
"No console.");
            System.exit(
1);
        }
        
while (true) {
            Pattern pattern 
= Pattern.compile(console.readLine("%nEnter your regex: "));
            Matcher matcher 
= pattern.matcher(console.readLine("Enter input string to search: "));
            
boolean found = false;
            
while (matcher.find()) {
                console.format(
"I found the text \"%s\"starting at " +
                        
"index %d and ending at index %d. %n", matcher.group(), matcher.start(), matcher.end());
                found 
= true;
            }
            
if (!found)
                console.format(
"No match found.%n");
        }
    }
}
注:由于这个例子使用了JDK 1.6后才有的方法:System.console(),所以这个例子在eclipse和netbeans都不能正常运行。只有在命令行下才能正确运行。如果想在eclipse和nb下运行,好像可以用System.out/in来代替System.console。
分享到:
评论

相关推荐

    JAVA正则表达式--Pattern和Matcher

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个...

    java正则表达式验证IP地址

    在Java中,我们可以使用java.util.regex包来使用正则表达式。在这个包中,有两个主要的类:Pattern和Matcher。 Pattern类是正则表达式的编译表示形式,它将正则表达式编译成一个模式,使其可以被Matcher类使用。...

    Java中的正则表达式 -- 示例详解

    自从jdk1.4推出java.util.regex包,就为我们提供了很好的JAVA正则表达式应用平台。 因为正则表达式是一个很庞杂的体系,所以我仅例举些入门的概念,更多的请参阅相关书籍及自行摸索。 \\ 反斜杠 \t 间隔 ('\u0009...

    java正则表达式过滤html标签

    该方法使用java.util.regex.Pattern和java.util.regex.Matcher类来实现正则表达式的匹配。filterHtml方法将输入的字符串str与正则表达式regxpForHtml进行匹配,如果找到匹配的标签,则将其替换为空字符串。 ...

    JAVA 正则表达式 教程

    在学习完该教程后,应该对正则表达式有了初步的了解,并能熟练地运用 java.util.regex 包中的关于正则表达式的类库,为今后学习更高级的正则表达式技术奠定良好的基础。 教程中所有的源代码都在 src 目录下,可以...

    Java正则表达式的总结和一些小例子

    Java 正则表达式的总结和一些小例子 Java 正则表达式是 Java 编程语言中一个非常重要的组件,它可以用于文本显示、数据表示、查找键和许多其他目的。从 Java 1.4 开始,Java 核心 API 就引入了 java.util.regex ...

    精通正则表达式~~~

    第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于有部分经验的读者... 6 检索文本文件:Egrep. 6 ...

    [精通正则表达式(第3版)]中文版.(美)Jeffrey.E.F.Friedl-part1.rar

    本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、 Java、.NET、PHP中的用法。 本书自第1版开始着力于教会读者“以正则表达式来思考”,来让读者...

    精通正则表达式(第三版)

    《精通正则表达式(第3版)》主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了在Perl、Java、.NET、PHP中正则表达式的用法。 《精通正则表达式(第3版)》自第1版开始着力于...

    精通正则表达式 中英文

    这一版的更新也反映了其他语言的发展,深入讲解了Sun的java.util.regex,并特别提到了Java 1.4.2和Java 1.5/1.6之间的众多差异。  本书的内容:  ·各种语言和工具的功能比较  ·正则引擎的工作原理  ·优化...

    精通正则表达式(第三版)

    这一版的更新也反映了其他语言的发展,深入讲解了Sun的java.util.regex,并特别提到了Java1.4.2和Java1.5/1.6之间的众多差异。 本书的内容: ·各种语言和工具的功能比较 ·正则引擎的工作原理 ·优化(能节省大量的...

    Java正则表达式学习教程

    Java正则表达式的类在 java.util.regex 包中,包括三个类:Pattern,Matcher 和 PatternSyntaxException。 Pattern对象是正则表达式的已编译版本。他没有任何公共构造器,我们通过传递一个正则表达式参数给公共静态...

    eclipse正则表达式插件regex util

    eclipse正则表达式插件regex util

    正则表达式 Regex Util eclipse插件

    正则表达式调试编辑器, eclipse插件Regex Util,装好后,即可从视图打开Regex Util视图了,比较好用!

    Java正则表达式-详解(附相关真题)

    目录正则表达式1. 正则标记1.1 字符1.2 字符类1.3 预定义字符类1.4 边界匹配器(java一般不用到)1.5 Greedy 数量词1.6 Logical 运算符2. String类支持3. Java.util.regex包支持3.1 Pattern类(常用方法)3.2 Matcher类...

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    * Summary of regular-expression constructs 正则表达式结构简介: * Construct Matches * Characters 字符: * x The character x x 字符 x * \\ The ...

    Mastering Regular Expressions 3 ed pdf 版 精通正则表达式(第三版)

    Furthermore, this edition has been updated throughout to reflect advances in other languages, including expanded in-depth coverage of Sun's java.util.regex package, which has emerged as the standard ...

    正则表达式测试工具

    自制的正则表达式测试工具,源码如下: /** * @Project: regutil * @Title: MainFrame.java * @Package com.zhang * @Description: 正则表达式工具 * @author zhanghongbin mypczhanghongbin@gmail.com * @date ...

    精通正则表达式(第3版) 英文版

    这一版的更新也反映了其他语言的发展,深入讲解了Sun的java.util.regex,并特别提到了Java 1.4.2和Java 1.5/1.6之间的众多差异。 本书的内容: ● 各种语言和工具的功能比较 ● 正则引擎的工作原理 ● 优化(能节省...

Global site tag (gtag.js) - Google Analytics