Java正则表达式的使用

一、一些符号的释义
匹配符
[3-8]--->任意一个在3-8之间的数字。数字自己定。
[a-z]--->任意一个小写的英文字母
[a-zA-Z0-9_]--->任意一个小写的英文字母或者任意一个大写的英文字母或者任意一个数字或者_
//d --->[0-9]
//w--->[a-zA-Z0-9_]
//D --->对对应的小写字母取反,即 任意一个非数字字符
//W--->同理
直接写某一个字符(串)--->匹配该字符(串)
限定符
* --->0个或者任意个
+ --->1个或者多个
? --->0个或者1个
{5} --->出现5次。数字自己定。
{3,6}--->出现3-6次。数字自己定。
{4,}--->至少出现4次。数字自己定。
其他说明
/ --->转义符。一些符号不能直接去匹配,需要在前面加转义符。
()--->分组捕获需要用到,被括起来的相当于一个小整体。
^--->表示以某字符(串)开头
$--->表示以某字符(串)结尾
二、常用方法解释
String content = "15641@qq.com";
String rexStr = "^[-]?([1-9]\\d*|0)(\\.\\d+)?$";
Pattern pattern = Pattern.compile(rexStr);
Matcher matcher = pattern.matcher(content);

matcher.find()
matcher.matches()
matcher.group(0)
matcher.group(1)

content :我们要操作的文本
rexStr :写我们的正则表达式
pattern:创建一个正则表达式对象
matcher :对字符串进行匹配
matcher.find():在文本中寻找符合满足正则表达式的字符串,会返回一个布尔值
matcher.matches():对整个字符串进行匹配,满足校验返回true
matcher.group(0):整个正则表达式匹配到的内容
matcher.group(1):正则表达式第1个括号匹配到的内容,以此类推。被括起来相当于一个小组。


反向引用:括号内的内容被捕获到后,可以在这个括号后面被引用。可以实现一些稍复杂的需求。比如说匹配三个相同的连续数字:

(\\d)\\1{3}

String类可以直接调用正则表达式的一些方法:
替换:

String str = string.replaceAll(String regex,String replacement)

判断:

boolean bool = string.matches(String regex);

分割:

String[] split = content.split(String regex);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值