JAVA正则表达式(二)

来源:互联网 发布:excel中怎么编程 编辑:程序博客网 时间:2024/05/23 02:22
正则表达式:符合一定规则的表达式
作用:用于专门操作字符串
特点:用于一些特点的符号来表示一些代码操作。这样的就简化书写
学习正则表达式就是学习一些特殊符号的使用
具体操作功能:
1.匹配:String 类的matches()
2.切割:String类的split()
3.替换:String类的replaceAll()
4.获取:将字符串中符合规则的字串取出
   (1)将正则表达式封装成对象
   (2)让正则对象和要操作的字符串相关联。
   (3)关联后,获取正则匹配引擎。
   (4)通过引擎对符合规则的字串进行操作,比如取出。
{n}指定的为剩余的9位,不能多不能少;
{n,m}只能是n到接下来的m位,要匹配的字符串可以多余m位,但是不能少。
{n,}指定是n位数以上的所有的
"(.)\\1"按照叠词完成切割,为了可以让规则的结果重用,可以将规则封装一个组。
       用()完成,组的出现都有编号。从1开始,
  想要使用已有的组可以通过 \n(n就是组的编号)的形式来获取。
"\\\\"按照\\进行切割

" +":" +"出现一次或多次,用"."则必须用"\\."进行转义


class  RegexDemo{public static void main(String[] args) {//demo();checkTel();//splitDemo("c:\\abc\\a.txt","\\\\");//按照\\进行切割        //splitDemo("erkktyqquiio","(.)\\1");         //replaceAllDemo("we54544456464sy455446dsdsa5451","\\d{0,}","#");}public static void demo(){  String str="56566565666666464";  //char[] buf=str.toCharArray();  String reg="[1-9][[0-9]&&[^a-zA-Z]]{4,14}";  boolean b=str.matches(reg);  System.out.println(b);}//匹配手机号 13xxx  15xxx  18xxxpublic static void checkTel(){   String tel="151723174065";   String telReg="1[358]\\d{3,}";   boolean flag=tel.matches(telReg);   System.out.println(flag);   }public static void splitDemo(String str,String reg){  //String str="zhangsan    lisi    wangwu";  //str="c:\\abc\\a.txt";  //String reg=" +";//  String[] arr=str.split(reg);    for(String s:arr) {       System.out.println(s);       }}public static void replaceAllDemo(String str,String reg,String newStr){   str=str.replaceAll(reg,newStr);   System.out.println(str);}}