添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

java 正则表达式分组提取

Java 的正则表达式可以使用括号来进行分组,通过分组可以方便地提取匹配到的内容。

假设我们有一个字符串:"apple price is 2.99 , o r a n g e p r i c e i s 2.99, orange price is 1.99",现在我们想要提取出这个字符串中所有水果的名字和价格,可以使用正则表达式进行匹配和提取。

示例代码如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexDemo {
    public static void main(String[] args) {
        String input = "apple price is $2.99, orange price is $1.99";
        // 定义正则表达式,使用括号进行分组
        String regex = "(\\w+) price is (\\$\\d+\\.\\d+)";
        // 创建 Pattern 对象,并编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        // 创建 Matcher 对象,并进行匹配
        Matcher matcher = pattern.matcher(input);
        // 遍历匹配结果,提取分组内容
        while (matcher.find()) {
            String fruitName = matcher.group(1);
            String fruitPrice = matcher.group(2);
            System.out.println(fruitName + ": " + fruitPrice);

在上面的代码中,我们定义了一个正则表达式,其中使用了两个括号进行分组。第一个括号中使用了 \w+ 表示匹配一个或多个字母、数字或下划线,用于匹配水果的名字。第二个括号中使用了 \$\d+\.\d+ 表示匹配一个美元符号、一个或多个数字、一个点号和一个或多个数字,用于匹配水果的价格。注意在美元符号前面要加上反斜杠,因为美元符号在正则表达式中有特殊含义。

我们创建了一个 Pattern 对象,并编译了正则表达式。然后创建了一个 Matcher 对象,并对输入字符串进行匹配。最后遍历匹配结果,使用 group() 方法提取分组内容,分组编号从 1 开始。

以上就是 Java 正则表达式分组提取的示例代码。希望能对你有所帮助。

  •