• java正则表达式 [ 1 ]


    1:

     [0-9] 表示该处字符可以是0-9中任意一个

     [0-9a-z]表示该处可以是0-9或a-z的任意一个

     [086]表示该处可以是0,8,6中的任意一个

     . (点)表示可以是除去 的任意字符

     [^234]表示该处不能是2,3,4中的任意一个

     [^0-9]表示不能是0-9的任意一个

     [A-Z]表示A-Z任意一个(字符是区分大小写的)

                    String s="aa";
    		String regex="[a-z][a-z]";
    		boolean b=s.matches(regex);
    		System.out.println(b);          

      

                           String s="5ec3";
    		        String regex="([0-9][a-z][a-z][0-9])";
    			Pattern pa=Pattern.compile(regex);
    			Matcher ma=pa.matcher(s);
    			boolean b=s.matches(regex);
    
     

      

     

    2.

     d{1,3}    d表示是数字.  {1,3}表示出现1到3次      {1,}表示出现1次或1次以上

    d{1,3}    

     [a-z]\d{1,4} 

     [a-z]\d{1,4}[a-z] 

                    String s="aa2344";
    		String regex="[a-z]{2}[0-9]{0,5}";
    		boolean b=s.matches(regex);
    		System.out.println(b);
    
                   String s="aa2344";
    		String regex="[a-z]{2}\d{0,5}";
    		boolean b=s.matches(regex);
    		System.out.println(b);
    

      

     

    3. 

     \w{1,} \d{1,4}    w 表示 字母或数字或下划线

     \W 表示不是字母数字下划

     . 表示任意字符(除去 )

     d表示数字

     D 表示非数字

     s 表示由空字符组成 [ xf]    eg:"  $2335"

      S 表示由非空字符[^s]
     

     4.出现次数的表达:


     [a-z]? 表示a-z出现0次或1次

     [a-z]+表示出现a-z 1次或多次

     [a-z]* 表示0次或1次或多次

     {n}表示出现n次

     {n,m} 表示 n-m次

     {n,}表示n或n+次

    5.

    XY 表示X后面是Y X,Y分别是正则表达式的一部分 如[a-z][0-9]

     X|Y 表示或的意思 可以是X或Y  

     可是具体字符 eg:[%|$|&] 表示该字符是%或$ 或&


     eg:
    String s="%af";
    String regex="[%]|[$|&][a-z]{1,2}"; false
    
    String s="%af";
    String regex="[¥]|[%|&][a-z]{1,2} "; true ????? 
    
    
    String s="%af";
    String regex="[%|@]|[$|&][a-z]{1,2}"; false ?? 
    

     6.

     ^ 为开头 $ 结尾

     $1 :表示 第一个() 的内容 $2 表示第二个()内容

     表示单词边界

       单词边界符能够匹配中文符号、英文符号、空格、制表符、回车符号,

       以及各种边界,比如单词在开头,单词在结尾。

     B  是非单词分界符,即可以查出是否包含某个字符,

        String regex = "\b(\d{3})(\d{3})(\d{4})\b";
         String replacementText = "($1) $2-$3";
         String source = "1234567890, 12345, and  9876543210";
         Pattern p = Pattern.compile(regex);
         Matcher m = p.matcher(source);
         String formattedSource = m.replaceAll(replacementText);
         Log.d(TAG, "onCreate:* --"+formattedSource);
         输出: 
        (123) 456-7890, 12345, and (987) 654-3210
    

      

        eg:
    	
         String source=" xhyd ,dfdf ,vgu ,rtyu";
         String regex="\B([d|h|y])\B";
         Pattern p=Pattern.compile(regex);
         Matcher matcher=p.matcher(source);
         while (matcher.find()){
         Log.d(TAG, "onCreate: ---"+matcher.group()+"
    ");
         }
    
         会输出 h  y  d  y
    

      [^A] 表示匹配除去A 以外的字符

             eg:
              String ss="ayucn";
              String regex2="[a-z]{5}[^A]";
              boolean booleans=ss.matches(regex2);---->false
              String ss="ayucn "; --->true
    

      

  • 相关阅读:
    xslt转换xml常用知识(4)
    xslt转换xml
    Oracle10g数据库的4种存储形式 .转帖
    建立与Oracle数据库服务器连接的两种连接模式(专用服务器与共享服务器) .转帖
    HDU 4473 Exam 构造枚举
    zoj 1002 Fire Net (DFS搜索)
    POJ 2421 Constructing Roads 克鲁斯卡尔(Kruskal)算法
    POJ 1258 AgriNet 克鲁斯卡尔(Kruskal)算法&并查集
    POJ 2031 Building a Space Station
    判断一个数是否为整数(转)
  • 原文地址:https://www.cnblogs.com/galibujianbusana/p/8654223.html
Copyright © 2020-2023  润新知