程序中应用正则表达式则必须依靠Pattern类和Matcher类,这两个类都是在java.util.regex包中定义。
Pattern类的主要作用是进行正则规范的编写。
Matcher类主要是执行规范,验证一个字符串是否符合其规范。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import java.util.regex.Pattern; import java.util.regex.Matcher;;
public class Regex_demo {
public static void main(String[] args) { // TODO 自动生成的方法存根 // String str = "123456789"; // if(Pattern.compile("[0-9]+").matcher(str).matches()){ //使用正则表达式 // System.out.println("是由数字组成!"); // } else{ // System.out.println("不是由数字组成!"); // } // String str = "2016-03-11" ; // String pat = "\\d{4}-\\d{2}-\\d{2}"; //定义规则,其中/不要转义,//d等于/d // Pattern p = Pattern.compile(pat); //实例化Pattern类 // Matcher m = p.matcher(str); //验证字符串内容是否合法 // if(m.matches()){ // System.out.println("日期格式合法!"); // }else{ // System.out.println("日期格式不合法!"); // } String str = "A123B123C123F123" ; String pat = "\\d+"; Pattern p = Pattern.compile(pat); //实例化Pattern类 String s[] = p.split(str); //进行字符串拆分 for(int i=0;i<s.length;i++){ System.out.println(s[i]+"\t"); //输出其中符合字母的字符 } Matcher m = p.matcher(str); //实例化Matcher类 String newString = m.replaceAll("_"); //替换所有的数字 System.out.println(newString); }
}
|