java 正则表达式

Java 中的正则表达式遵循通用的正则表达式规则,主要包括以下几个方面:

  1. 字符匹配:正则表达式可以用来匹配字符串中的特定字符。例如,a 表示匹配字符串中的字符 "a"。

  2. 元字符:正则表达式中的元字符具有特殊的含义,例如 . 表示匹配任意单个字符,* 表示匹配零个或多个前面的字符,+ 表示匹配一个或多个前面的字符,? 表示匹配零个或一个前面的字符等等。

  3. 字符类:用 [ ] 包围的字符集合表示一个字符类,表示匹配其中任意一个字符。例如,[abc] 表示匹配字符 "a"、"b" 或 "c" 中的任意一个。

  4. 量词:用来指定模式重复出现的次数。例如,{n} 匹配恰好 n 次,{n,} 匹配至少 n 次,{n,m} 匹配至少 n 次但不超过 m 次。

  5. 转义字符:用来匹配特殊字符的字符,通常以反斜杠 \ 开头。例如,\d 匹配一个数字字符,\s 匹配一个空白字符。

  6. 边界匹配符:用来匹配字符串的边界。例如,^ 匹配字符串的开头,$ 匹配字符串的结尾。

  7. 分组:用圆括号 () 来表示分组,可以对其内的内容进行逻辑分组,并应用于量词或其他操作符。

  8. 预定义字符类:预定义字符类是常用字符类的简写形式。例如,\d 匹配一个数字字符,\w 匹配一个单词字符,\s 匹配一个空白字符。

  9. 反向引用:可以使用反向引用来引用先前匹配的子模式。反向引用使用 \ 加上组号来表示。

  10. 注: 在正则表达式中,\ 是一个转义字符,用于表示后面的字符具有特殊含义。而Java中的字符串也使用 \ 作为转义字符,因此如果要在 Java 字符串中表示一个 \,需要使用两个反斜杠 \\

    因此,在正则表达式中,\\ 表示一个反斜杠字符 \,用于转义后面的字符,使其失去特殊含义,而在 Java 字符串中,也需要使用 \\ 表示一个反斜杠字符 \

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

public class RegexExample {
    public static void main(String[] args) {
        // 要匹配的字符串
        String text = "Hello, my email is example@example.com and my phone number is 123-456-7890.";

        // 创建正则表达式模式
        String emailPattern = "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b";
        String phonePattern = "\\b\\d{3}-\\d{3}-\\d{4}\\b";

        // 编译正则表达式
        Pattern emailRegex = Pattern.compile(emailPattern);
        Pattern phoneRegex = Pattern.compile(phonePattern);

        // 创建匹配器对象
        Matcher emailMatcher = emailRegex.matcher(text);
        Matcher phoneMatcher = phoneRegex.matcher(text);

        // 查找匹配项并输出结果
        while (emailMatcher.find()) {
            System.out.println("Email found: " + emailMatcher.group());
        }

        while (phoneMatcher.find()) {
            System.out.println("Phone number found: " + phoneMatcher.group());
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值