Java 正则表达式

一、正则表达式的作用

  1. 正则表达式定义了字符串的模式。
  2. 正则表达式可以用来搜索、编辑或处理文本。
  3. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。

二、Java里的正则

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

  • Pattern类:pattern对象是一个正则表达式的编译表示。Pattern类没有公共构造方法。要创建一个Pattern对象,你必须首先调用其公共静态编译方法,它返回一个Pattern对象。该方法接受一个正则表达式作为它的第一个参数。
  • Matcher类:Matcher对象是对输入字符串进行解释和匹配操作的引擎。与Pattern类一样,Matcher也没有公共构造方法。你需要调用Pattern对象的matcher方法来获得一个Matcher对象。
  • PatternSyntaxException:PatternSyntaxException是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

来个实栗子:


package test;  
      
import java.util.regex.Matcher;  
import java.util.regex.Pattern;  
      
public class test {  
          
    public static void main(String []args) {  
        String[] user = {"v_u1","v_u3","v_u5","v_u4","vava","tom"};  
        String reg = "(^v_)(\\w+)";  
        Pattern pat = Pattern.compile(reg);  
        for(String u : user) {  
            Matcher mat = pat.matcher(u);  
            System.out.print(mat.matches()+"--");  
            if(mat.matches()) {  
                System.out.print("Welcome "+mat.group(2)+",you are VIP!"+"\n");  
            }else {  
                System.out.print("Welcome "+u+"\n");  
            }  
        }  
    }  
}


Console:


true--Welcome u1,you are VIP!
true--Welcome u3,you are VIP!
true--Welcome u5,you are VIP!
true--Welcome u4,you are VIP!
false--Welcome vava
false--Welcome tom