Java回炉之正则表达式

Java回炉之正则表达式

最常用

  1. .表示任意一个字符
  2. \s空白字符(空格回车)
  3. \S非空白字符(相当于[^\S]
  4. \d一个数字(相当于[0-9]
  5. \D一个非数字字符(相当于[^0-9]
  6. \w一个单词字符(相当于[a-zA-Z_0-9],即字母数字下划线)
  7. \W一个非单词字符(相当于[^\w]
  8. \b单词边界
  9. \B一个非单词边界
  10. []匹配括号内一个字符
  11. *重复0次或多次
  12. +重复1次或多次

语法规则

转义字符

\表示转移,其后的带含义字符将被视为普通字符。

\.表示.
\+表示+

字符匹配

  • .匹配:单个字符;取值:任意字符。
    a.b可以匹配adb、a#b等
  • []匹配:单个字符;取值:中括号内字符。
    a[bcd]e可以匹配abe、ace、ade。
  • |匹配:一组字符;取值:小括号内某一组字符。
    a(1|23|2333)b可以匹配a1b、a23ba、2333b。
  • ^匹配单词开头
  • $匹配单词结束
  • \b匹配单词边界(单词间的部分)

特殊字符匹配

  • \s表示一个空白符号,包括空格、制表符、回车、换页。作用同[\t\n\r\f]
  • \S表示不能是空白符号。作用同[^\t\n\r\f]
  • \d表示一个数字。作用同[0-9]
  • \D表示此处不能是数字,作用同[^\d]
  • \w表示数字或字母。作用同[0-9A-Za-z_]
  • \W表示不能是数字或字母,作用同[^\w]

循环次数匹配

  • *表示0次或多次
    ab*可以匹配a、ab、abbbbb等。
  • +表示1次或多次
    ab+可以匹配ab、abb、abbbb等。
  • ?表示0次或1次
    ab?可以匹配a、ab。
  • {n}表示n次
    ab{2}表示abb。
  • {n,m}表示n到m次。
    ab{2,5}表示abb、abbb、abbbb、

取值控制

  • -匹配:单个字符;取值:-左至右
    a[0-9]可以表示a0、a1……a9。
  • [^]不能匹配一个字符
    [^ab]表示不以a或b开头

常用正则表达式

(自己百度去吧)

Java中的使用

匹配判断

boolean isMatch=string.matches("regex");

分割字符串

String string = "ab|cd|efg";
String divide = "|";
String[] strArray=string.split(divide);
//{"ab","cd","efg"}

字符串替换

String string = "ab45436cd54efg"
String regex="\\d+";
string.replaceAll(regex,"_");
//"ab_cd_efg"

使用Pattern和Matcher

使用正则字符串创建Pattern

Pattern pattern=Pattern.compile("\\d");

使用目标字符串创建Matcher

Matcher matcher=pattern.matcher("ab4cd5ef3g");

获取符合规则的所有字串

while(matcher.find()){
    matcher.group();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值