Java---正则表达式详解

目录

一、正则表达式的概念

二、正则表达式的语法

(1)字符类(只匹配一个字符)

(2)预定义符(只匹配一个字符) 

三、正则表达式的具体实例


一、正则表达式的概念

正则表达式是对字符串操作的逻辑表达式,说的有点抽象了吧。那说说它的作用其实更加好懂。正则表达式可以校验字符串是否符合规则(规则由你制定),那么也就可以通过它来在一段文本中寻找自己想要的信息了。

二、正则表达式的语法

(1)字符类(只匹配一个字符)

1:[abc]  只能是abc其中一个字符

2:[^abc] abc这三个字符都不能被选择,其他字符都可以

3:[a-zA-Z] 只能在a到z和A到Z这两个区间中选,这两个区间外的字符不可被选择

4:[a-d[m-p]] 只能在a-d和m-p这两个区间选,与第三条是一样的意思的

5:[a-z&&[def]]   a-z和def的交集,也就是只能是def这三个字符中的其中一个

6:[a-z&&[^def]]  a-z中并且除了def的其它字符

7:[a-z&&[^m-p]]  a-z中除了m-p的字符,也就是[a-lq-z]

(2)预定义符(只匹配一个字符) 

1:  .  任意字符

2:\d   一个数字 [0-9]

3:\D    非数字   [^0-9]

4:\s    一个空白字符[\t\n\xOB\f\r]

5:\S    非空白字符

6:\w   [a-zA-Z_0-9]英文数字下划线

7:\W    [^\w]   

(3)数量词


1:x?       x,出现一次或者是0次

2:x*       x,出现了0次或者是多次

3:x+       x,出现了一次或者是多次

4:x{n}     x,出现了正好n次

5:x{n,}    x,出现了至少n次

6:x{n,m}   x,出现了至少n次但不超过m次

 

三、正则表达式的具体实例

这里我们用到的是matches方法,它的返回值是boolean类型的,具体实例我们看下面吧。

 

public class Solution {
    public static void main(String[] args) {
    	System.out.println("a".matches("[ab]"));
    	System.out.println("abc".matches("[abc]"));//毕竟只能一个字符匹配,所以是false,不是true;
    	System.out.println("abc".matches("[abc][abc][abc]"));//毕竟只能一个字符匹配
    	System.out.println("abc".matches("[^abc]"));
    	System.out.println("123abc".matches("\\d{3}\\w{3}"));
    	System.out.println("18962".matches("\\d{1,}"));
    	System.out.println("azn".matches("[abc][azxc&&az][n]"));    	
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜到极致就是渣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值