欢迎访问宙启技术站
智能推送

Java正则表达式函数总结及实践案例

发布时间:2023-06-17 16:31:32

正则表达式是一种表述字符串模式的语法,常用于文本处理、搜索和替换操作。Java中提供了许多正则表达式函数,本文将总结这些函数,并给出实践案例加深理解。

Java正则表达式函数

1. Pattern类

Pattern类是Java中正则表达式的编译器,通过compile方法将正则表达式编译为模式,供Matcher对象使用。

2. Matcher类

Matcher类是Java中正则表达式的匹配类,通过以编译的模式来生成匹配器,以支持对字符串的查找和替换操作。

3. String类的matches方法

matches方法是Java中String类的一个方法,该方法用于将字符串与正则表达式匹配,返回匹配的结果。

4. String类的split方法

split方法是Java中String类的一个方法,该方法用于将字符串按正则表达式分割成一个字符串数组,返回分割后的结果。

5. String类的replaceAll方法

replaceAll方法是Java中String类的一个方法,该方法用于将字符串中的某个模式替换成另一个字符串,返回替换后的结果。

实践案例

1. 邮箱格式验证

验证邮箱格式是否正确,邮箱格式为:用户名@域名.后缀名。

代码实现:

public class EmailTest {
    public static void main(String[] args) {
        String email = "test123@qq.com";
        String regx = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";
        boolean b = email.matches(regx);
        if (b) {
            System.out.println("邮箱格式正确");
        } else {
            System.out.println("邮箱格式错误");
        }
    }
}

2. 汉字验证

验证字符串是否都为汉字。

代码实现:

public class ChineseTest {
    public static void main(String[] args) {
        String str = "你好世界";
        String regx = "[\u4e00-\u9fa5]+";
        boolean b = str.matches(regx);
        if (b) {
            System.out.println("是汉字");
        } else {
            System.out.println("不是汉字");
        }
    }
}

3. 提取手机号

从一个字符串中提取出手机号。手机号为11位数字,以1开头。

代码实现:

public class PhoneTest {
    public static void main(String[] args) {
        String str = "我的手机号码是13888888888,你的呢?";
        String regx = "1\\d{10}";
        Pattern pattern = Pattern.compile(regx);
        Matcher matcher = pattern.matcher(str);
        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
}

4. 分隔字符串

将一个字符串按照逗号分隔成若干个字符串。

代码实现:

public class SplitTest {
    public static void main(String[] args) {
        String str = "a,b,c";
        String[] arr = str.split(",");
        for (String s : arr) {
            System.out.println(s);
        }
    }
}

5. 替换字符串

将字符串中的某个子串替换成另一个字符串。

代码实现:

public class ReplaceTest {
    public static void main(String[] args) {
        String str = "hello, world";
        String newStr = str.replaceAll("hello", "hi");
        System.out.println(newStr);
    }
}

以上实践案例都是基于Java的正则表达式函数实现的,通过实践可以更好地理解和掌握这些函数的用法,提高代码实现效率。