zoukankan      html  css  js  c++  java
  • Java的正则表达式

    Java正则表达式:定义了字符串的模式;可以用来搜索、编辑、或处理文本;

    指定为字符串的正则表达式必须首先被编译为此类的实例。然后将得到的模式用于创建Matcher对象,依照正则表达式,该对象可以与任意字符序列匹配,执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式

    因此,典型的调用顺序是:

    Pattern p = Pattern.compile("a*b");

    Matcher m = p.matcher("aaaaaaabccccc");

    boolean b = m.matches();

    如下例子中:

    boolean isMatch = Pattern.matches(pattern,content);仅在使用一次正则表达式时,可以方便使用matches方法。

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

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

    package cuiyuee;
    import java.util.regex.*;
    
    public class PatternTest {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String content = "I am noob from runoob.com.";
            
            String pattern = ".*runoob.*";
            
            boolean isMatch = Pattern.matches(pattern,content);
            System.out.println("字符串中是否包含了 'runoob' 子字符串?"+ isMatch);
            
        }
    
    }

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

      Matcher类的方法:

        索引方法:提供了有用的索引值,精确表明输入字符串中在哪能找到匹配。

          public int start():返回以前匹配的初始索引。

          public int start(int group):返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引。

          public int end(int group):返回在以前的匹配操作期间,由给定组所捕获子序列的最后字符之后的偏移量。

        研究方法:用来检查输入字符串并返回一个布尔值,表示是否找到该模式。

          public boolean lookingAt():尝试将从区域开头开始的输入序列与该模式匹配。

          public boolean find():尝试查找与该模式匹配的输入序列的下一个子序列。

          public boolean find(int start):重置此匹配器,尝试查找匹配该模式,从指定索引开始的输入序列的下一个子序列。

          public boolean matches():尝试将整个区域与模式匹配。

        替换方法:替换输入字符串里文本的方法。

          public Matcher appednReplacement(StringBuffer sb,String replacement):实现非终端添加和替换步骤。

          public StringBuffer appendTail(StringBuffer sb):实现终端添加和替换步骤

          public String replaceAll(String replacement):替换模式与给定替换字符串相匹配的输入序列的每个字序列。

          public String replaceFirst(String replacement):替换模式与给定替换字符串匹配的输入序列的第一个子序列

          public static String quoteReplacement(String s):返回指定字符串的字面替换字符串。这个方法返回一个字符串,就像传递给Matcher类的appendReplacement 方法一个字面字符串一样工作。

       3、PatternSyntaxException类

          PatternSyntaxException是一个非强制异常类,它指示一个正则表达式模式中的语法错误。

          有以下方法帮助我们查看发生了什么错误。

        public String getDescription():获取错误的描述。

        public int getIndex():获取错误的索引。

        public String getPattern():获取错误的正则表达式模式。

        public String getMessage():返回多行字符串,包含语法错误及其索引的描述,错误的正则表达式模式和模式中错误索引的可视化指示。

  • 相关阅读:
    2.App Components-Activities/Loadres
    2.App Components-Activities/Fragments
    2.App Components-Activities
    2.App Components-Intents and Intent Filters
    1.Indroduction
    Fragment
    用继承和组合方式定制控件
    复杂布局实现
    Android源代码下载与跟踪
    电梯调度算法模拟
  • 原文地址:https://www.cnblogs.com/cindy-cindy/p/6824672.html
Copyright © 2011-2022 走看看