Java 正则表达式
一、正则表达式的作用
- 正则表达式定义了字符串的模式。
- 正则表达式可以用来搜索、编辑或处理文本。
- 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
二、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