牛骨文教育服务平台(让学习变的简单)
博文笔记

Java正则匹配获取变量的值

创建时间:2017-05-28 投稿人: 浏览次数:1928

比如说我有如下数据,怎么将里面的名字和年龄分别提取出来?

Mary(12),Tom(20),Jhon(32),

这个问题乍一看很简单,但如果我们用普通的split方法,会比较复杂。
所以我这里用正则匹额获取变量的方式获取。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by 11655 on 2017/5/28.
 */
public class zz {
    public static void main(String[] args) {
        String data="Mary(12),Tom(20),Jhon(32),";
        Pattern pattern = Pattern.compile("(.*?)\((.*?)\),");   //正则匹配
        Matcher matcher = pattern.matcher(data);
        while (matcher.find()) {
            System.out.println("All is:"+matcher.group(0)+"  name:"+matcher.group(1)+"  age:"+matcher.group(2));
        };

    }
}

结果如下:

All is:Mary(12),  name:Mary  age:12
All is:Tom(20),  name:Tom  age:20
All is:Jhon(32),  name:Jhon  age:32
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。