📅  最后修改于: 2023-12-03 15:40:38.270000             🧑  作者: Mango
正则表达式是一种用于匹配字符串模式的工具,它在 Java 中通过 java.util.regex 包实现。使用正则表达式可以轻松地搜索、替换和解析文本。本文将介绍 Java 中常用的正则表达式语法,并提供一些示例来演示其用法。
以下是 Java 中常用的正则表达式语法:
.
匹配任何字符[]
匹配指定的字符集合[^]
不匹配指定的字符集合?
匹配前面的字符 0 或 1 次*
匹配前面的字符 0 或多次+
匹配前面的字符 1 或多次{n}
匹配前面的字符恰好 n 次{n,}
匹配前面的字符至少 n 次{n,m}
匹配前面的字符 n 到 m 次()
捕获匹配的子串,可以通过 $1、$2、$3 等来引用(?:)
不捕获匹配的子串|
匹配两个任意的分支\
转义字符,用于匹配特殊字符String str = "This is a string with 12345";
String pattern = "\\d+";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(str);
if (m.find( )) {
System.out.println("Found value: " + m.group(0));
} else {
System.out.println("No match");
}
输出结果:
Found value: 12345
String str = "Today is 2022-03-06";
String pattern = "\\d{4}-\\d{2}-\\d{2}";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(str);
if (m.find( )) {
System.out.println("Found value: " + m.group(0));
} else {
System.out.println("No match");
}
输出结果:
Found value: 2022-03-06
String str = "My email address is example123@test.com";
String pattern = "\\w+@[a-z]+\\.[a-z]{2,3}";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(str);
if (m.find( )) {
System.out.println("Found value: " + m.group(0));
} else {
System.out.println("No match");
}
输出结果:
Found value: example123@test.com
Java 中的正则表达式在搜索、替换和解析字符串等方面非常有用。掌握正则表达式的语法和用法可以提高程序员编写高效代码的能力。本文介绍了 Java 中常用的正则表达式语法,并提供了一些示例来演示其用法。在实际工作中,根据需求选择正确的正则表达式,可以为开发带来极大的便利。