一、正则表达式简介

在日常的开发工作中,我们总会遇到各种文本处理的需求:验证用户输入的邮箱是否合法、从一大段文本中提取出所有的手机号、替换字符串中的特定字符…… 面对这些需求,如果单纯依靠   字符串的基本方法逐个判断、截取,不仅代码冗长,而且容易出错。这时,正则表达式        能以简洁的语法描述复杂的文本规则,极大地提升文本处理的效率 。

二、正则表达式的主要类与方法

(一)类

1. Pattern 类:代表正则表达式的编译表示形式。将正则表达式字符串编译为`Pattern`对象。

2. Matcher 类:用于对输入的字符串做匹配操作。通过`Pattern`对象的`matcher`方法创建。

(二)方法

1. `find()`:查找输入字符串与正则表达式匹配的下一个子字符串。

2. `group()`:返回上一次匹配成功的子字符串。

3. `matches()`:判断整个输入字符串是否与正则表达式完全匹配。

三、正则表达式语法

四、使用正则表达式的操作实例

(一)验证电子邮箱地址

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class zz {
    public static void main(String[] args) {
        String emailRegex = "^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+$";
        Pattern pattern = Pattern.compile(emailRegex);
        String email = "test@example.com";
        Matcher matcher = pattern.matcher(email);
        if (matcher.matches()) {
            System.out.println("Valid email address.");
        } else {
            System.out.println("Invalid email address.");
        }
    }
}

(二)提取电话号码

import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class zz2 {
    public static void main(String[] args) {
        String phoneNumberRegex = "\\d{11}";
        Pattern pattern = Pattern.compile(phoneNumberRegex);
        String text = "My phone number is 13812345678.";
        Matcher matcher = pattern.matcher(text);
        if (matcher.find()) {
            System.out.println("Phone number: " + matcher.group());
        }
    }
}

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐