正则表达式

本文详细介绍了Java中的正则表达式,包括如何使用特殊字符、创建Pattern和Matcher对象,以及如何利用捕获组进行字符串匹配。通过实例展示了如何在Java中实现字符串的模式匹配和处理,是理解Java正则表达式的重要参考资料。
摘要由CSDN通过智能技术生成

正则表达式


正则表达式
  • 正则表达式定义了字符串的模式。

  • 正则表达式可以用来搜索、编辑或处理文本。

  • 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。


规则

Java 的正则表达式在匹配点(.) 和斜杠(),表达式要分别写作 \. 和 \\,
记住,匹配点(.) 或 {、[、(、?、$、^ 和 * 这些特殊符号要要前加双斜杠,注意逗号(,) 不是这一类特殊字符,因为它只会出现在中括号或花括号中
匹配 \ 时要用四斜杠 ,即特殊符号前的 \ 也需要转义

这是因为正则表达式串就是 Java 字符串的输出,输出时会自动转义
只要记住一点,你要想的正则表达式字符串是什么,而正则表达式字符串就是 Java 字符串的的输出结果,就知道应该怎么写了。


Pattern和Matcher

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher

  • Pattern:一个Pattern是一个正则表达式经编译后的表现模式。
  • Matcher: 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。

首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。


捕获组

捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。

        // 按指定模式在字符串查找
        // 捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。

		// 需要匹配的字符串
        String line = "This order was placed for QT3000! OK?";
		// 匹配规则
        String pattern = "(\\D*)(\\d+)(.*)";
        // 创建 Pattern 对象
        Pattern r = Pattern.compile(pattern);
        // 现在创建 matcher 对象
        Matcher m2 = r.matcher(line);
		
		//find()捕获str字符串中匹配pattern的字段,并返回捕获后下一个字符的索引,所以可以遍历整个字符串
        if (m2.find( )) {
            //group(0)是代表整个表达式
            System.out.println("Found value: " + m2.group(0) );
            System.out.println("Found value: " + m2.group(1) );
            System.out.println("Found value: " + m2.group(2) );
            System.out.println("Found value: " + m2.group(3) );
        } else {
            System.out.println("NO MATCH");
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值