正则表达式解析字符串

abc.txt文件中有N行记录如下,共六个字段,分别为姓名,性别,年龄,出生年月日,家庭地址,联系电话。
用正则表达式按字段解析从该文件中读出的一行行字符串,输出至控制台:

姓名 性别 年龄 出生年月日 家庭地址 联系电话
张三 男 27 1986-01-01 江苏省苏州市南德路387-2号 13112347890
左冷禅 男 28 1985-07-22 上海市南德路111号 13112345678
常盘樱子 女 31 1982-11-11 浙江省杭州市南德路211号 13112340000

用 Java 写,折腾了半天还是写不对呀,望大家多多帮忙呀,谢谢!

String a = "姓名           性别     年龄      出生年月日                   家庭地址                        联系电话 ";
Pattern pattern = Pattern.compile("(\\S*)\\s*(\\S*)\\s*(\\S*)\\s*(\\S*)\\s*(\\S*)\\s*(\\S*)\\s*");
Matcher matcher = pattern.matcher(a);
if (matcher.matches()) {
    System.out.println(matcher.group(1));
    System.out.println(matcher.group(2));
    System.out.println(matcher.group(3));
    System.out.println(matcher.group(4));
    System.out.println(matcher.group(5));
    System.out.println(matcher.group(6));
}

这是单个的,多个的用循环就好了

这个不需要用正则表达式了,直接按行读取文件就行了