正则匹配

 1 private static Pattern datePattern = Pattern.compile("[0-9]{4}-[0-9]{2}-[0-9]{2}");
 2 public static boolean checkDate(String date){
 3   Matcher m = datePattern.matcher(date);
 4   if(m.find()){
 5     return true;
 6   }
 7   return false;
 8 }
 9 
10 public class Test {
11  public static void main(String[] args)
12  {
13   Pattern p=Pattern.compile("a");
14   Matcher m=p.matcher("aaa");
15   int count=0;
16   while(m.find())
17   {
18    count++;
19   }
20   System.out.println(count);
21   }
22  }

表达式规则:

字符   
x 字符 x 
\ 反斜线字符 
n 八进制值的字符0n (0 <= n <= 7) 
nn 八进制值的字符 0nn (0 <= n <= 7) 
mnn 八进制值的字符0mnn 0mnn (0 <= m <= 3, 0 <= n <= 7) 
xhh 十六进制值的字符0xhh 
uhhhh 十六进制值的字符0xhhhh 
制表符('u0009') 
换行符 ('u000A') 
回车符 ('u000D') 
f 换页符 ('u000C') 
a 响铃符 ('u0007') 
e 转义符 ('u001B') 
cx T对应于x的控制字符 x 
  
字符类 
[abc] a, b, or c (简单类) 
[^abc] 除了a、b或c之外的任意 字符(求反) 
[a-zA-Z] a到z或A到Z ,包含(范围) 
[a-z-[bc]] a到z,除了b和c : [ad-z](减去) 
[a-z-[m-p]] a到z,除了m到 p: [a-lq-z] 
[a-z-[^def]] d, e, 或 f 
备注:
方括号的正则表达式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”,只能匹配单个字符。
圆括号,因为方括号只允许匹配单个字符;故匹配多个字符时使用圆括号“()”。比如使用“t(a|e|i|o|oo)n”正则表达式,就必须用圆括号。

预定义的字符类 
. 任意字符(也许能与行终止符匹配,也许不能) 备注:句点符号代表任意一个字符。比如:表达式就是“t.n”,它匹配“tan”、“ten”、“tin”和“ton”,还匹配“t#n”、“tpn”甚至“t n”。
d 数字: [0-9] 
D 非数字: [^0-9] 
s 空格符: [ x0Bf ] 
S 非空格符: [^s] 
w 单词字符: [a-zA-Z_0-9] 
W 非单词字符: [^w]

表达次数的符号
符号 次数
* 0次或者多次
+ 1次或者多次
? 0次或者1次
{n} 恰好n次
{n,m} 从n次到m次

1 String strNow1 = "2016-12-01 13:46";
2 strNow1 = strNow1.replaceAll("\s|-|/|:","");

管道。

原文地址:https://www.cnblogs.com/lijia0511/p/6378143.html