zoukankan      html  css  js  c++  java
  • java regex 简单使用

    Java自带了支持正则表达式的包---java.util.regex包

    在regex包中,包括了两个类,Pattern(模式类)和Matcher(匹配器类),另外还有个异常类PatternSyntaxException。

    Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真正影响搜索的对象。PatternSyntaxException,当遇到不合法的搜索模式时,会抛出例外。抛出未经检查的异常,表明正则表达式模式中的语法错误。

    指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字

    符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。  因此,典型的调用顺序是

    Pattern p = Pattern.compile("a*b"); //  编译 指定模式
    
    Matcher m1 = p.matcher("aaaaab"); //  创建 Matcher匹配器 对象 
    
    Matcher m2 = p.matcher("aaab"); // 多个匹配器共享同一模式  
    
    boolean b = m1.matches();    

    类 Matcher

    通过调用模式的 matcher 方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:

    matches 方法尝试将整个输入序列与该模式匹配。

    lookingAt 尝试将输入序列从头开始与该模式匹配。

    find 方法扫描输入序列以查找与该模式匹配的下一个子序列。

    public class Test {  
        public static void main(String[] args) {  
    //      编译 指定模式  
            Pattern p = Pattern.compile("a*b");  
    //      创建 Matcher匹配器对象  
            Matcher m1 = p.matcher("aaaaab");  
    //      多个匹配器共享同一模式  
            Matcher m2 = p.matcher("vaavbcc");  
            Matcher m3 = p.matcher("baabbcvv");  
      
            boolean b1 = m1.matches();  
            boolean b2 = m2.find();  
            boolean b3 = m3.lookingAt();  
      
            System.out.println("全部匹配"+b1);  
            System.out.println("有符合条件的就行"+b2);  
            System.out.println("从头开始匹配"+b3);  
        }  
    }

    软件包 java.util.regex 的描述 

    用于匹配字符序列与正则表达式指定模式的类。

    Pattern 类的实例采用类似于 Perl 的语法来表示以字符串形式指定的正则表达式。

    Matcher 类的实例用于匹配字符序列与给定模式。通过 CharSequence 接口将输入提供给匹配器,以支持从多种输入源到字符的匹配。

    除非另行说明,将 null 参数传递给此包中任意类或接口中的方法将导致抛出 NullPointerException

  • 相关阅读:
    JSON
    什么是Jsonp?
    用border做三角形
    前端模块化
    Web 前端
    前端性能优化
    Ajax的原理
    node.js基础语法
    【真·新手初篇】菜鸟们都戳进来看看(欢迎大神指导)
    2019.11.20 开启一天的工作
  • 原文地址:https://www.cnblogs.com/lixin890808/p/3028462.html
Copyright © 2011-2022 走看看