Java正则表达式Pattern和Matcher的使用

本文介绍了Java中Pattern和Matcher类的基本用法,并通过实例演示了如何使用正则表达式匹配特定模式。此外,还详细解释了正则表达式的各种语法元素及量词规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Pattern的介绍

1.Pattern类的作用在于编译正则表达式后创建一个匹配模式,它是java.util.regex.Pattern包下的。

二、Matcher的介绍
2.Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配。

三、怎么去使用
3.接下来就写一个测试类(需求我想要第一个参数param11这个参数):

public class test {
    public static void main(String[] args) {
        String string = "param11-param2*param3+param4";
        Pattern compile = Pattern.compile("\bp\w{6}");
        Matcher matcher = compile.matcher(string);
        while (matcher.find()) {
            //7.取出表达式中的第一个参数
            String str = matcher.group(0);
            System.out.println(str);
        }
    }
}

结果:param11

四、关于正则表达式语法

1.正则表达式通用匹配符

正则表达式说明示例
.匹配任何单个符号,包括所有字符match="."      result: x a + x b + x c * (x d - x e ) - x f / x g
^xxx在开头匹配正则xxx

match="^x"   result:xa

xxx$在结尾匹配正则xxxmatch=".g$"  result:xg
[abc]能够匹配字母a,b或cmatch="[xa]"  result:x a x x x x x x
[abc][12]能够匹配由1或2跟着的a,b或c 
[^abc]

当^是[]中的第一个字符时代表取反,匹配除了a,b或c之外的任意字符。

(“[^ab][^12].”, “c3#”) – true(“[^ab]..[^12]“, “xcd3″) – true
[a-e1-8]匹配a到e或者1到8之间的字符(“[a-e1-3].”, “d#”) – true(“[a-e1-3]“, “2″) – true
xx|yy匹配正则xx或者yy 

五、java正则表达式元字符

正则表达式说明
\d任意数字,等同于[0-9]
\D任意非数字,等同于[^0-9]
\s任意空白字符,等同于[\t\n\x0B\f\r]
\S任意非空白字符,等同于[^\s]
\w任意英文字符,等同于[a-zA-Z0-9]
\W任意非英文字符,等同于[^\w]
\b单词边界,也就是指单词和空格间的位置
\B非单词边界

 六、正则表达式量词

正则表达式说明
x?x没有出现或者只出现一次
x*x出现0次或更多
X+X出现1次或更多
X{n}X正好出现n次
X{n,}X出现n次或更多
X{n.m}X出现至少n次但不多余m次

例如:[abc]+表示a,b,c出现一次或者多次

(abc)+ 表示abc出现一次或者多次

七、\b和\\b区别区分
关于"\b"和"\\b"的区别:

  \b : 就是正则表达式中单纯的语法;

  \b :这是java中转义(转译)字符,"\"代表反斜杠. 在字符串中定义的话,在正则匹配规则中,等同于"\b".

Always keep the faith!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值