java中正则表达式的基本使用

正则表达式的常用语法

正则在线检验:http://tool.chinaz.com/regex/

更多地语法可以参考jdk api中的Pattern类:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

普通字符:字母、数字、汉字、下划线,以及没有特殊定义的标点符号,这些都可以直接匹配。

简单的转义字符:

  • \n,换行符;
  • \r,回车符
  • \t,制表符;
  • \\,代表反斜杠\本身;
  • \^、\$、\.、\(、\)、\[、\]、\?、\+、\*、\|,这些特殊符号在正则中都有特殊含义,如果想要使用这些符号本身,需要加上转义字符

标准字符集合:

  • \d,表示任意一个0~9之间的数字
  • \w,任意一个字母、数字或者下划线,即A~Z,a~z,0~9,_中的任意一个
  • \s,表示空格、制表、换行等空白字符的其中一个
  • .,点号可以匹配任意一个字符(除了换行符),如果要匹配\n在内的所有字符,一般用[\s\S]
  • 注意:以上字母如果大写表示取反,比如\D,除了数字全都会匹配

自定义字符集合:

  • [ab5@],匹配方括号中的任意一个字符,a或者b或者5或者@
  • [^ab5],表示匹配a、b、5之外的任意一个字符
  • [f-k],表示匹配f到k之间的任意一个字母
  • [^f-k0-3],表示匹配除了f-k和0-3之外的任意一个字符
  • 注意,除了^、-和\之外,其它特殊符号如果被包含在中括号之内,即使是有特殊含义,也将被视为普通字符
  • 除了点号.之外,标准字符如果被包含在中括号之内,将保持原本的含义。

量词

  • 修饰匹配次数的特殊符号
  • {n},表达式重复n次,比如我想匹配连续的6个数字,可以\d{6}
  • {m,n},表达式至少重复m次,最多重复n次
  • {m,},表达式至少重复m次,没有上限
  • ?,匹配表达式0次或者1次,相当于{0,1}
  • +,表达式至少出现1次,相当于{1,},没有上限
  • *,表达式出现0次,或者任意次,相当于{0,},没有上限,比如\d*,其它非数字的地方都算作0次,以空字符形式被匹配
  • 匹配次数的【贪婪模式】:能匹配多位的就匹配多位,这也是正则的默认匹配模式。
  • 匹配次数的【非贪婪模式】:即能匹配少位就匹配少位。要用此模式在次数后面加个问号?即可。

字符边界

  • 本组标记匹配的不是字符而是符合某种条件的位置(零宽的匹配)。
  • ^,
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值