JAVA 正则表达式(匹配、切割、替换)
2013-04-12 20:47
645 查看
//仅作为学习笔记
/* 正则表达式:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号来表示一些代码操作 来简化书写 优点: 简化对字符创的复杂操作 弊端:符号定义越多 正则越长 阅读性越差 具体操作功能: 1,匹配:String matches方法 用规则来匹配字符串 返回值为boolean 2,切割:String split(); 按照叠词完成切割,为了可以让规则的结果可以被重用 可以将规则封装成一个组 用()来完成 组的出现都有编号 从1 开始 想要使用已有的组 可以通过 \n(n是组的编号)形式来获取 3,替换 String replaceAll() */ class RegexDemo { public static void main(String []args) { //checkQQ(); //splitDemo("c\\abc\\a.txt","\\\\"); /* 用()来对字符封装成组,序号系统会自动从1开始 下次要使用时 可以反斜杠+组号来捕获想要的组(在字符串中反斜杠要转义) */ //splitDemo("earfahhafkakkadhbfbba","(.)\\1");//按照叠词完成切割 //splitDemo("earfahhafkakkadhbfbba","(.)\\1+"); 如果表示相同字符出现一次或多次 可以加上一个+ //replaceAllDemo("adsf2342525jkah3225lnjkn25435","\\d{5,}","*"); replaceAllDemo("adhikhjjjjafiukllladhhh","(.)\\1+","$1");//将在一起的重叠的字符换成同一个字符 } public static void replaceAllDemo(String str, String reg,String newStr) { str = str.replaceAll(reg,newStr); System.out.println(str); } public static void splitDemo(String str,String reg) //public static void splitDemo() { //String str = "zhangsan lisi wangwu"; //String str = "zhangsan.lisi.wangwu"; //String reg = " +";//表示空格出现一次或多次 //String str1 = "c\\abc\\a.txt"; //String reg1 = "\\\\"; //由于.号本身就是正则表达式里的符号 因此此处要加上\, //另外再加上个\表示转义 //String reg = "\\."; String [] arr = str.split(reg); System.out.println(arr.length); for(String s : arr) { System.out.println(s); } } //使用了正则表达式的代码 public static void checkQQ() { String qq = "24325425"; String regex = "[1-9][0-9]{4,14}"; boolean flag = qq.matches(regex); if(flag) System.out.println(qq+"...is ok"); else System.out.println(qq + "... is not!"); } /* 对QQ号码进行校验 要求:长度为5_15 不能以0开头 只能是数字 */ //下面这种方法是用类String 中的方法 不过代码略显复杂 public static void checkQQ_1() { String qq = "12322"; int len = qq.length(); if(len >= 5 && len <= 15) { if( !qq.startsWith("0")) { try { long l = Long.parseLong(qq); System.out.println("qq:"+qq); } catch (NumberFormatException e) { System.out.println("出现非法字符!"); } /* boolean flag = true; char []arr = qq.toCharArray(); for( int x = 0; x< arr.length ; x++) { if(!(arr[x] >= '0' && arr[x]<= '9')) { flag = false; break; } } if(flag) { System.out.println("qq :" +qq); } else { System.out.println("出现非法字符!"); } } else { System.out.println("不可以以0 开头!"); } */ } } else { System.out.println("长度不够!"); } } }
相关文章推荐
- 黑马程序员——JAVA基础---正则表达式---概述,匹配、切割、替换、提取,网页爬虫
- Java正则表达式(匹配、切割、替换、获取)等方法
- JAVA正则表达式匹配,替换,查找,切割
- Java基础---Java---正则表达式-----匹配、切割、替换、获取等方法
- JAVA正则表达式匹配,替换,查找,切割
- Java基础---Java---正则表达式-----匹配、切割、替换、获取等方法
- JAVA中正则表达式匹配,替换,查找,切割的方法
- JAVA中正则表达式匹配,替换,查找,切割的方法
- JAVA正则表达式匹配,替换,查找,切割
- JAVA正则表达式匹配,替换,查找,切割
- JAVA正则表达式匹配,替换,查找,切割的总结
- java正则表达式详解(匹配、切割和替换)
- JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫
- Java正则表达式匹配,替换,查找,切割
- JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫
- JAVA正则表达式匹配,替换,查找,切割
- 黑马程序员_Java第25天知识总结_正则表达式_匹配_切割_替换_获取_Pattern_Matcher
- JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫
- Java正则表达式:匹配邮箱、替换代码
- java正则表达式来替换文本中匹配正则的内容