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

Java正则表达式使用详解:常用函数及示例

发布时间:2023-10-23 03:56:26

Java正则表达式是一种强大的工具,用于在字符串中搜索和匹配模式。它可以用于验证邮箱、电话号码、IP地址等,也可以用于提取指定格式的数据。

本文将详细介绍Java正则表达式的常用函数及示例。

1. Pattern类

Pattern类用于表示正则表达式的编译表示。它提供了多个静态方法来创建Pattern对象。

1.1 compile(String regex):使用给定的正则表达式编译一个Pattern对象。

示例代码:

String regex = "[a-z]+";
Pattern pattern = Pattern.compile(regex);

1.2 matches(String regex, CharSequence input):判断给定的输入字符串是否与正则表达式匹配。

示例代码:

String regex = "[a-z]+";
String input = "hello";
boolean matches = Pattern.matches(regex, input);
System.out.println(matches);  // true

2. Matcher类

Matcher类用于进行正则表达式的匹配操作。

2.1 matches():判断整个输入字符串是否匹配正则表达式。

示例代码:

String regex = "[a-z]+";
String input = "hello";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
boolean matches = matcher.matches();
System.out.println(matches);  // true

2.2 find():在输入字符串中查找下一个匹配的子序列。

示例代码:

String regex = "[a-z]+";
String input = "hello world";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    System.out.println(matcher.group());  // hello
}

2.3 group():返回上次匹配操作的结果。

示例代码:

String regex = "[a-z]+";
String input = "hello world";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
    System.out.println(matcher.group());  // hello
}

2.4 start():返回上次匹配操作的开始索引。

示例代码:

String regex = "[a-z]+";
String input = "hello world";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
    System.out.println(matcher.start());  // 0
}

2.5 end():返回上次匹配操作的结束索引。

示例代码:

String regex = "[a-z]+";
String input = "hello world";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
    System.out.println(matcher.end());  // 5
}

2.6 replaceAll(String replacement):替换输入字符串中匹配的部分。

示例代码:

String regex = "[a-z]+";
String input = "hello world";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
String result = matcher.replaceAll("hi");
System.out.println(result);  // hi hi

以上是Java正则表达式常用的几个函数及示例。通过这些函数,我们可以对字符串进行匹配、查找、替换等操作。掌握了这些知识后,在实际的开发中就可以更方便地处理字符串。