Java 正则表达式基础
什么是正则表达式
正则表达式(Regular Expression)是一种用来描述字符串模式的工具,可以被用于用于搜索、匹配、替换等字符串操作。正则表达式本身是一个由字符和操作符组成的字符串。
在 Java 中,使用 java.util.regex
包中的类来实现正则表达式的操作。
正则表达式基础语法
- 字符匹配:用单个字符匹配目标字符串中出现的指定字符。例如,正则表达式
a
表示匹配目标字符串中出现的字符a
。 - 字符类匹配:用一组字符匹配目标字符串中出现的一个字符。例如,正则表达式
[abc]
表示匹配目标字符串中出现的字符a
或b
或c
。 - 范围匹配:用一个范围匹配目标字符串中出现的一个字符。例如,正则表达式
[a-d]
表示匹配目标字符串中出现的字符a
到d
中的任意一个。 - 负向字符类匹配:用一组不在指定字符集合中的字符匹配目标字符串中出现的一个字符。例如,正则表达式
[^abc]
表示不匹配目标字符串中出现的字符a
或b
或c
。 - 预定义字符类匹配:匹配一组经常使用的字符。例如,正则表达式
\\d
表示匹配任意一个数字,等效于[0-9]
。 - 数量词:指定匹配前面字符的次数。例如,正则表达式
a{3}
表示匹配目标字符串中至少连续出现 3 个字符a
。 - 或运算:匹配多个正则表达式之一。例如,正则表达式
a|b
表示匹配目标字符串中出现的字符a
或字符b
。 - 捕获组:找到一个子字符串并在匹配成功时将其分配给一个捕获组。例如,正则表达式
(a|b)c
可以匹配目标字符串中出现的ac
或bc
,并将a
或b
分别分配给捕获组 1。
Java 中的正则表达式
在 Java 中,使用 java.util.regex
包中的类实现正则表达式。其中,常用的类有 Pattern
和 Matcher
。
创建 Pattern 对象
要使用正则表达式,首先需要使用 Pattern
类的 compile()
方法创建一个 Pattern
对象。
Pattern pattern = Pattern.compile("正则表达式");
匹配 String 对象
使用 Matcher
类的 matches()
方法可以匹配一个 String
对象。
String str = "字符串";
boolean isMatch = pattern.matcher(str).matches();
匹配部分字符串
如果需要从目标字符串中匹配出子字符串并分配给捕获组,可以使用 Matcher
类的 group()
方法。
Pattern pattern = Pattern.compile("(\\d\\d)(\\w)");
String str = "12A";
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
String group1 = matcher.group(1); // 分配给第一个捕获组的内容
String group2 = matcher.group(2); // 分配给第二个捕获组的内容
}
Java 中的正则表达式实例
以下是一些正则表达式的实例:
匹配电子邮件地址
Pattern pattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");
String email = "example@example.com";
boolean isMatch = pattern.matcher(email).matches();
匹配手机号码
Pattern pattern = Pattern.compile("^1[0-9]{10}$");
String phone = "12345678901";
boolean isMatch = pattern.matcher(phone).matches();
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 正则表达式基础,实例学习资料收集大全 原创 - Python技术站