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的正则表达式函数实现的,通过实践可以更好地理解和掌握这些函数的用法,提高代码实现效率。
