Java中的正则表达式函数用法详解。
发布时间:2023-09-23 02:45:47
正则表达式是一种用于匹配、搜索和替换字符串的强大工具,Java提供了许多用于处理正则表达式的函数。
1. matches()函数:用于判断字符串是否与指定的正则表达式匹配。示例代码如下:
String s = "Hello, world";
boolean result = s.matches("Hello.*");
System.out.println(result); // 输出true
2. split()函数:用于将字符串分割成匹配正则表达式的部分。示例代码如下:
String s = "One,Two,Three";
String[] parts = s.split(",");
for (String part : parts) {
System.out.println(part);
}
输出结果为:
One Two Three
3. replaceAll()函数:用于将字符串中匹配正则表达式的部分替换为指定的字符串。示例代码如下:
String s = "Hello, world";
String result = s.replaceAll("world", "Java");
System.out.println(result); // 输出Hello, Java
4. find()函数和group()函数:用于在字符串中查找匹配正则表达式的部分,并通过group()函数获取匹配结果。示例代码如下:
String s = "The price is $10.";
Pattern pattern = Pattern.compile("\\$(\\d+)");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
String price = matcher.group(1);
System.out.println(price); // 输出10
}
5. matches()函数和group()函数:与find()和group()函数类似,但是matches()函数要求整个字符串都与正则表达式匹配。示例代码如下:
String s1 = "The price is $10.";
String s2 = "The price is $10.00.";
Pattern pattern = Pattern.compile("\\$(\\d+)");
Matcher matcher1 = pattern.matcher(s1);
Matcher matcher2 = pattern.matcher(s2);
if (matcher1.matches()) {
String price1 = matcher1.group(1);
System.out.println(price1); // 输出10
}
if (matcher2.matches()) {
String price2 = matcher2.group(1);
System.out.println(price2);
} else {
System.out.println("Not a valid price."); // 输出Not a valid price.
}
6. Pattern类的静态方法compile():用于将正则表达式编译成模式。示例代码如下:
String s = "Hello, world";
Pattern pattern = Pattern.compile("world");
Matcher matcher = pattern.matcher(s);
boolean result = matcher.matches();
System.out.println(result); // 输出false
7. Pattern类的静态方法quote():用于将字符串转义成正则表达式的格式。示例代码如下:
String s = "(1+2)*3"; String pattern = Pattern.quote(s); System.out.println(pattern); // 输出\(1\+2\)\*3
以上是Java中正则表达式函数的用法详解,通过这些函数可以方便地进行字符串的匹配、搜索和替换操作。
