java正则表达式 [ 1 ]

1:java

 [0-9] 表示该处字符能够是0-9中任意一个正则表达式

 [0-9a-z]表示该处能够是0-9或a-z的任意一个spa

 [086]表示该处能够是0,8,6中的任意一个orm

 . (点)表示能够是除去\n的任意字符blog

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

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

 [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.di

 \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] while

                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 表示不是字母数字下划

 . 表示任意字符(除去\n)

 \d表示数字

 \D 表示非数字

 \s 表示由空字符组成 [ \t\n\r\x\f]    eg:"  \t$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 表示单词边界

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

   以及各类边界,好比单词在开头,单词在结尾。

 \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()+"\n");
     }

     会输出 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