Java基础——Java笔记——正则表达式笔记

字符类:
[abc]  a,b,或者c
[^abc] 任何字符,除了a,b,c
[a-zA-Z] a到或A到Z (范围)
[a-d[m-p]] a到d或m到p,等效于[a-dm-p]去(取的是并集)
[a-z&&[def]] 等效与[def],取的是[a-z]与[def]的交集,[a-z]中包含[def],所以结果也就是[def]
[a-z&&[^bc]] a到z,除了b和c,等效于[ad-z]
[a-z&&[^m-p]] a到z,而非m到p,除了m到p。

注意:[ ]代表单个字符

预定义字符类:
. 任意字符
\d 数字: 等于[0-9]     \D 非数字,等于[^0-9]
\w 单词字符 等于[a-zA-Z_0-9]  \W非单词字符,等于[^\w]
\s 空白字符:[ \t\n\x0B\f\r]  \S 非空白自符, 等于[^\s] (6个自符,开头是个空格)

Greedy 数量词
? 一次或一次也没有
*  零次或多次(也包括一次,就是零次到多次)
+ 一次或多次(就是不包括0次)
{n} 恰好n次
{n, } 至少n次
{n,m} 至少n次,至少m次

String类的功能:
1.split(String regex) 通过正则表达式切割字符,注意转义字符,想用点. 切割,要写\\.  因为点是正则表达式中的特殊字符,所以要写成\.  而\是Java中的转义字符,所以要写\\, 所以结果就是\\.
2.replaceAll(String regex,String replacement) 替换功能
3.获取功能,Pattern和Mather的结合使用

String s = "abc18212437890fdfd13709874567";
String regex="1[3578]\\d{9}";

Patten p = Patten.compile(regex);
Mather m = P.matcher(s);

while(m.find()) {
System.out.println(m.group());
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值