Java正则表达式:
package pack.java.regexp; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 正则表达式实例1 * @author Administrator * */ public class RegexpDemo01 { public static void main(String[] args) { //正则常用表达式介绍; //符号:.代表任意字符; //符号:*代表0个或者多个 //符号:+代表1个或者多个 //符号:?代表0个或者1个 //符号:/d代表数字0-9 //符号:/D代表非数字0-9的字符; //符号:/w代表字符a-z或者字符A-Z或者下划线_或者数字0-9,如[a-zA-Z_0-9] //符号:/W代表非[a-zA-Z_0-9]的字符; //符号:/s代表空白字符如:\n、\t、\r 或者 空白等; //符号:/S代表非空白字符的字符; //符号:\代表转义\如果需要写正则表达式匹配\必须写\\匹配. //符号:^如果位于中括号里面是取反,如果^位于中括号外面代表字符输入的开头; //符号:$代表字符结束的末尾; //符号:/b代表单词边界,如i am或者i\tam 等; //表达式中的.代表匹配任意字符,返回结果true; p("@1A中".matches("....")); //每次匹配一个长度,并且是数字0-9,或者使用\d也行; p("abcd123abc".replaceAll("[0-9]{1}","-")); //当字符串只有3个长度时才匹配成功; Pattern compile = Pattern.compile("\\w{3}"); p(compile.matcher("aA1").matches()); //正则表达式*代表0个或者多个,返回结果true; p("aA1bc".matches("\\w*")); //正则表达式+号代表1个或者多个,返回结果true; p("AVB123a".matches("\\w+")); //正则表达式?号代表0个或者1个,返回结果true; p("".matches("\\w?")); //正则表达式{3}代表字符串需要连续出现多少次,返回结果true; p("aaa".matches("a{3}")); //正则表达式{3,}代表至少出现3次最多未知,结果返回true; p("123456".matches("\\d{3,}")); //正则表达式区间{3,100}匹配,代表至少3次不超过100次,结果返回true; p("张AB/3&*".matches(".{3,100}")); //正则表达式[0-9]代表一个范围匹配,结果返回true; p("192".matches("[0-2][0-9][0-9]")); //范围匹配规则如下: //正则表达式[abc]代表只需要匹配此[]中的任意一个字符(只匹配单个字符).返回true; p("a".matches("[abc]")); //正则表达式取反[^abc]代表除了表达式的字符都可以匹配,返回true p("d".matches("[^abc]")); //正则表达式-代表一个范围,[a-zA-Z]代表范围,a到z和A-Z;返回true; p("abc".matches("[a-zA-Z]{3}")); //正则表达式|代表或者,如:[a-z]|[A-Z] 表示小写字符a-z或者大写字母A-Z; p("abez".matches("([a-z]|[A-Z]){4,}")); //正则表达式并集&&表示并且的意思,例如:[A-Z&&[ABC]],代表需要匹配A-Z中的一个字母并且和[ABC]中的一个匹配,只有2个表达式都成立时才返回true; p("A".matches("[A-Z&&[ABC]]")); //匹配空白字符以及制表符、回车符、换行等,使用\s即可,返回true; p(" \n\r\t".matches("\\s+")); //匹配下划线字母数字,使用\w即可,返回true; p("a_z_2333aABD".matches("\\w{1,}")); //匹配数字、字母、以及多个符号&^%#等; p("abc3ABC$^&".matches("\\w{1,7}[%$&^]+")); //匹配\\需要转义\\\\进行匹配,返回true p("\\".matches("\\\\")); //边界匹配规则如下: //正则表达式需要从字符起始位置开始找起需要^并且匹配中间任意字符.和以llo字符结尾的字符,返回true; p("hello zhangsan".matches("^h.*san$")); //匹配以abc结尾的字符,返回true p("hello zhangabc".matches(".*abc$")); //匹配空行; p(" \n".matches("^[\\s&&[^\\n]]*\\n$")); //单词边界规则如下; //匹配单词,可以使用\b代表有单词边界的地方开始匹配或者是\t代表空格. p("Yes sir.".matches("[a-z]*\\b.{1,}")); p("Yes\tsir.".matches("[a-z]*\\b.{1,}")); //matches find lookingat区别 //正则表达式中的matcher表示匹配整个字符串; Pattern comp1 = Pattern.compile("\\d{3,5}"); Matcher matcher = comp1.matcher("111-430-13331-234-13"); p(matcher.matches()); //重置表示重新从最初的位置开始找起; matcher.reset(); //find表示每次匹配一次就移除匹配的部分,保留子字符串,然后返回匹配项返回true; p(matcher.find()); p(matcher.start() + " - "+matcher.end()); p(matcher.find()); p(matcher.start() + " - "+matcher.end()); p(matcher.find()); p(matcher.start() + " - "+matcher.end()); p(matcher.find()); matcher.reset(); //lookingAt表示每次从最开始的位置开始找; p(matcher.lookingAt()); //较复杂的查找和替换操作; Pattern comp2 = Pattern.compile("java",Pattern.CASE_INSENSITIVE);//忽略大小写; Matcher matcher2 = comp2.matcher("Java.Net JAVA JavA Java java JAVADemoJaVaDD I Love You JAva test abcd 123."); int i =0; StringBuffer sb = new StringBuffer(); while(matcher2.find()){ i++; //如果是偶数java转成大写,否则转成小写; if(i%2==0){ matcher2.appendReplacement(sb, "JAVA"); }else{ matcher2.appendReplacement(sb, "java"); } } //重新追加没有匹配的字符串; matcher2.appendTail(sb); p(sb); //分组匹配输出;如果正则表达式中的"()"代表一组表达式,如果有多组就使用多个()括起来,使用group(1)表示取第一组表达式的值; Pattern comp3 = Pattern.compile("(\\d{3,5})([a-z]{1,3})", Pattern.CASE_INSENSITIVE); Matcher matcher3 = comp3.matcher("123a-234abc-33452SBD-32BS-311XYZ"); while(matcher3.find()){ p(matcher3.group(1));//表示按(\\d{3,5})第一组的正则表达式进行匹配. } } /** * 输出正则表达式匹配后的结果; * @param obj */ public static void p(Object obj){ System.out.println(obj); } }
相关推荐
本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...
java,正则表达式,详解,java正则表达式,PDF
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
JAVA正则表达式应用:任意输入一串字符串 如何输入exit退出程序;从输入的字符串中判断是否包含手机号码 正则表达式可以使用" +86| 86 1 d{10}" 如果包含请将其在控制台打印出来 否则输出不包含字符串 ...
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
java正则表达式验证IP地址
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
Java正则表达式应用总结
Java正则表达式详解
java正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdf
java正则表达式使用例子,代码是Android的
Java正则表达式详解
正则表达式的使用 java正则表达式的使用示例 java正则表达式
java正则表达式详细全面讲解描述
一篇学习Java正则表达式的文章。
Java正则表达式入门介绍课件;Java正则表达式入门介绍课件
网络上搜集到的java正则表达式编程,整理了下做成了PDF格式
java正则表达式使用.docx 资源
Java正则表达式入门介绍.ppt,介绍常用语法规则及使用方式等