正则表达式

来源:互联网 发布:java多态实例 编辑:程序博客网 时间:2024/06/06 18:09

一、定义:

正则表达式是一种字符串操作的语法规则,利用此语法规则可以灵活的实现字符串的匹配、拆分、替换。

示例:要求判断某一个字符串是否有数字组成。
示例:要求判断某一个字符串是否有数字组成。
常规方法:
publicstaticBoolean isNumber(Stringstr){
     if("".endsWith(str)||null==str){
          returnfalse;
     }else{
          chardata[]=str.toCharArray();
          for(inti= 0;i<data.length;i++) {
              if(data[i]>'9'||data[i]<'0'){
                   returnfalse;
              }
              
          }
     }
     returntrue;
}

二、正则标记:

1、字母:匹配单个字母
(1)A:表示匹配字母A;
(2)\\:匹配转义字符“\”;
因为在Java中反斜杠是转义符,所以要让它表示本意,需要转义符(就是另一个反斜杠)进行转义,所以就需要两个反斜杠来表示反斜杠.这样在用java正则表达式匹配时,就需要用四个反斜杠(两个是转义符,两个是反斜杠)来匹配两个反斜杠示例:
Stringstr="\\";
str.matches("\\\\")
(3)\t:匹配转义字符“\t”;
(4)\n:匹配转义字符“\n”;
2、一组字符:任意匹配里面的一个单个字符:
//Stringstr="f"str.matches("[abcdefgABCDEFG]");
(1)[abc]:表示可能是字母a,可能是字母b或者是字母c;
(2)[^abc]:表示不是字母a,字母b,字母c的任意一个;
(3)[a-zA-Z]:表示全部字母中的任意一个;
(4)[0-9]:表示全部数字的任意一个;

(1)· :表示任意的一位字符;
       (2)\d :表示任意的一位数字,等价于“[0-9]”;
       (3)\D :表示任意的一位非数字,等价于“[~0-9]”;
       (4)\w :表示任意的一位字母、数字、_,等价于“[a-zA-Z0-9_]”;
       (5)\w :表示任意的一位非字母、数字、_,等价于“[^a-zA-Z0-9_]”;
       (6)\s :表示任意的一位空格,例如:\n、\t等;
       (7)\S :表示任意的一位非空格;
3、边界匹配:在以后编写JavaScript的时候使用正则中要使用到:
       (1)^:表示一组正则的开始;
       (2)$:表示一组正则的结束;
4、简写表达式:每一位出现的简写标记也只表示一位:
       (1)· :表示任意的一位字符;
       (2)\d :表示任意的一位数字,等价于“[0-9]”;
       (3)\D :表示任意的一位非数字,等价于“[~0-9]”;
       (4)\w :表示任意的一位字母、数字、_,等价于“[a-zA-Z0-9_]”;
       (5)\w :表示任意的一位非字母、数字、_,等价于“[^a-zA-Z0-9_]”;
       (6)\s :表示任意的一位空格,例如:\n、\t等;
       (7)\S :表示任意的一位非空格;
5、数量表示:之前所有的正则都只是表示一位,如果要表示多位,则就需要数量表示。
       (1)正则表达式?:此正则出现0次或1次;
(2)正则表达式*:此正则出现0次、1次或多次;"a".matches("a?")  "".matches("a*")
(3)正则表达式+:次正则出现1次或多次;"aaaa".matches("a+")
(4)正则表达式{n}:此正则出现正好n次;
(5)正则表达式{n,}:此正则出现n次以上;
(6)正则表达式{n,m}:此正则出现n  m次。

三、String类对正则的支持

1.字符串替换 "aaa&**389fhh%m$mmdd#kk3445@ll".replaceAll("[^a-z]","");
2.字符串拆分
Stringstr="aaa0bbb1ccc2ddd3eee4";
     Stringregex="[0-9]";
     Stringresult[]=str.split(regex);
     for(inti = 0; i < result.length;i++) {
          System.out.println(result[i]);
     }


原创粉丝点击