java入门-----正则表达式

java入门-----正则表达式

正则表达式

含义:用来描述或者匹配一系列符合某个语句规则的字符串

Pattern:代表正则表达式的匹配模式

Matcher:提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持

案例:把一个字符串中的电话号码替换成130****1111类型

package com.dream.regex_class;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test01 {
	
	public static void main(String[] args) {
	String str = "小红13055648889铁蛋18254657777";

    //正则表达式的字符串
    String regex = "(\\d{3})(\\d{4})(\\d{4})";

    String replaceAll = str.replaceAll(regex,"$1****$3");
    //底层原理
    //Pattern pattern = Pattern.compile(reger);//获取正则表达式的对象
    //Matcher matcher = pattern.matcher(str);//匹配结果
    //String replaceAll = matcher.replaceAll("$1****$3");//替换 
    System.out.println(replaceAll);
	}
}

案例:校验qq邮箱

package com.dream.regex_class;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test02 {
	
	public static void main(String[] args) {
        String str = "1750159674@qq.com";
        String  regex = "\\d{5,10}@qq.com";
        boolean matcher = str.matcher(regex);
        System.out.println(matcher);
	}
}
字符
x字符 x
//反斜线字符
/t制表符 (’/u0009’)
/n新行(换行)符 (’/u000A’)
/r回车符 (’/u000D’)
/e转义符 (’/u001B’)
.任意字符
字符类
[abc]a、b 或 c(简单类)
[^abc]任何字符,除了 a、b 或 c(否定)
[a-zA-Z]a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]]a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]]d、e 或 f(交集)
[a-z&&[^bc]]a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]]a 到 z,而非 m 到 p:[a-lq-z](减去)
预定义字符类
.任何字符(与行结束符可能匹配也可能不匹配)
/d数字:[0-9]
/D非数字: [^0-9]
/s空白字符:[ /t/n/x0B/f/r]
/S非空白字符:[^/s]
/w单词字符:[a-zA-Z_0-9]
/W非单词字符:[^/w]
边界匹配器
^行的开头
$行的结尾
/b单词边界
/B非单词边界
/A输入的开头
/G上一个匹配的结尾
/Z输入的结尾,仅用于最后的结束符(如果有的话)
/z输入的结尾
Greedy 数量词
X?X,一次或一次也没有
X*X,零次或多次
X+X,一次或多次
X{n}X,恰好 n 次
X{n,}X,至少 n 次
X{n,m}X,至少 n 次,但是不超过 m 次
Reluctant 数量词
X??X,一次或一次也没有
X*?X,零次或多次
X+?X,一次或多次
X{n}?X,恰好 n 次
X{n,}?X,至少 n 次
X{n,m}?X,至少 n 次,但是不超过 m 次
Possessive 数量词
X?+X,一次或一次也没有
X*+X,零次或多次
X++X,一次或多次
X{n}+X,恰好 n 次
X{n,}+X,至少 n 次
X{n,m}+X,至少 n 次,但是不超过 m 次
Logical 运算符
XYX 后跟 Y
X|YX 或 Y
(X)X,作为捕获组

字符类运算符的优先级如下所示,按从最高到最低的顺序排列:

1字面值转义/x
2分组[…]
3范围a-z
4并集[a-e][i-u]
5交集[a-z&&[aeiou]]
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值