Java-正则表达式

一、常用正则表达式

所有的正则匹配都在java.util.regex.Pattern中定义,常用如下:

字符:匹配单个字符

  1. a :匹配字母a
  2. \\ :匹配转义字符 \
  3. \t : 匹配转义字符 \t
  4. \n :匹配转义字符 \n

一组字符:任意匹配里面的一个单个字符

  1. [abc] :表示可能是字母a,可能是字母b,或者字母c
  2. [^abc] :表示不是字母abc中的任意一个
  3. [a-zA-Z] :表示全部字母中的任意一个
  4. [0-9] :表示全部数字的任意一个

边界匹配:在编写JS时候正则中使用

  1. ^ :表示一组正则的开始
  2. $ : 表示一组正则的结束

简写表达式

  1. . :表示任意一位字符
  2. \d :表示任意一位数字,等价于[0-9]
  3. \w : 表示任意一位字母、数字、_,等价于[a-zA-Z0-9_]
  4. \W : 表示任意一位非“字母、数字、_”,等价于[^a-zA-Z0-9_]
  5. \s :表示任意一位空格,例如 \n, \t等
  6. \S :表示任意一位非空格

数量表示:如果要表示出现多次

  1. 正则表达式? :此正则出现0次或1次
  2. 正则表达式* :此正则出现0次、1次或多次
  3. 正则表达式+ :此正则出现1次及以上
  4. 正则表达式{n} :此正则出现正好n次
  5. 正则表达式{n,} :此正则出现n次以上
  6. 正则表达式{n,m} :此正则出现n~m次

逻辑表示:与或非

  1. 正则A正则B:表达式A紧跟表达式B
  2. 正则A|正则B:表达式A或表达式B,二选一出现
  3. (正则):将多个字表达式合成一个表示,作为一组出现

二、String类对正则的支持

  1. 与指定正则匹配:public boolean matches(String regex)
  2. 替换满足正则的全部内容:public String replaceAll(String regex, String replacement)
  3. 替换满足正则的首个内容:public String replaceFirst(String regex, String replacement)
  4. 按照指定正则全拆分:public String[] split(String regex)
  5. 按照指定的正则拆分为个数:public String[] split(String regex, int limit)