正则表达式 规则

来源:互联网 发布:怎样使用淘宝网上购物 编辑:程序博客网 时间:2024/05/17 05:54
  •  几个常用的字符比对符号  
    方  法
    说  明
    .
    符合任一字符
    /d
    符合09任一个数字字符
    /D
    符合0-9以外的字符
    /s
    符合'/t''/n''/x0B''/f''/r'等空格符
    /w
    符合azAZ09等字符,也就是数字或是字母都符合
    /W
    符合azAZ09等之外的字符,也就是除数字与字母外都符合
  •  
    Character class 
    范  例
    作  用
    [abc]
    符合abc
    [^abc]
    符合「abc」之外的字符
    [a-zA-Z]
    符合az或者是AZ的字符
    [a-d[m-p]]
    ad或者是mp,也可以写成[a-dm-p]
    [a-z&&[def]]
    az并且是def,结果就是def可以符合
    [a-z&&[^bc]]
    az并且不是bc
    [a-z&&[^m-p]]
    az并且不是mp
  •  
    Greedy quantifiers
     
    范  例
    作  用
    X?
    X可出现一次或完全没有
    X*
    X可出现零次或多次
    X+
    X可出现一次或多次
    X{n}
    X可出现n
    X{n,}
    X可出现至少n
    X{n, m}
    X可出现至少n次,但不超过m
    X?
    X可出现一次或完全没有

     
    控制字符
    作用
    //
    反斜杠
    /'
    单引号'
    /"
    双引号"
    /uxxxx
    16进位数指定Unicode字符输出
    /xxx
    8进位数指定Unicode字符输出
    /b
    倒退一个字符
    /f
    换页
    /n
    换行
    /r
    游标移至行首
    /t
    跳格(一个Tab)
     
    格式字符
    作  用
    %%
    在字符串中显示%
    %d
    10进位整数方式输出,提供的数必须是ByteShort IntegerLongBigInteger
    %f
    将浮点数以10进位方式输出,提供的数必须是FloatDoubleBigDecimal
    %e, %E
    将浮点数以10进位方式输出,并使用科学记号,提供的数必须是FloatDoubleBigDecimal
    %a, %A
    使用科学记号输出浮点数,以16进位输出整数部份,以10进位输出指数部份,提供的数必须是FloatDoubleBigDecimal
    %o
    8进位整数方式输出,提供的数必须是ByteShort IntegerLongBigInteger
    %x, %X
    将浮点数以16进位方式输出,提供的数必须是ByteShort IntegerLong、或BigInteger
    %s, %S
    将字符串格式化输出
    %c, %C
    以字符方式输出,提供的数必须是ByteShortCharacter Integer
    %b, %B
    "true""false"输出(或"TRUE""FALSE",使用 %B)。另外,非null值输出是"true"null值输出是"false"
    %t, %T
    输出日期/时间的前置

 

System.out.printf("example:%.2f%n", 19.234);
example:19.23

System.out.printf("example:%6.2f%n", 19.234);
example: 19.23

 

l        /xn匹配ASCII码值等于n的字符,此处的 n 必须是两位的十六进制数。例如,“/x41匹配字符“A”,显然用这种方式可以表示所有非打印字符。注意:“/x041的意义是“/x04所表示的字符后跟字符“1

l        /un匹配Unicode编码等于n的字符,此处的n必须是一个四位的十六进制数。例如/u00A9匹配版权符号(©),[/u4e00-/u9fa5]则匹配任意一个汉字字符。





ds

String s = "sfdafdas fjdlas kj,  fsk Full = 121 kfdsfdsa fsd=123";String str = "Full =";if (s.contains(str)){int begin = s.indexOf("Full");print(begin);String ss = s.substring(begin,begin+str.length()+4);print(ss);print(ss.matches(".{1,5}=.\\d{1,3}"));}
String s = "sfdafdas fjdlas kj,  fsk Full = 12113da a 1kfdsfdsa fsd=123";String str = "Full =";if (s.contains(str)){int begin = s.indexOf("Full");print(begin);//String ss = s.substring(begin,begin+str.length()+4);//print(ss);//print(ss.trim().matches(".{1,5}=.\\d+"));Pattern p = Pattern.compile("Full\\s=\\s\\d+");Matcher m  = p.matcher(s.trim());if (m.find()){   //if find, then print String v = m.group();int i = Integer.valueOf(v.substring(v.indexOf("=")+2));print(i);} 
//25
//12113}


 

原创粉丝点击