待提取的字符串:.....<td height="20" align="center">姓名</td>....
如何把字符串"姓名"提取出来。即如何把字符串<td height="20" align="center">和字符串</td>之间的内容提取出来。
谢谢大家了

解决方案 »

  1.   

    已得答案,对正则表达式使用分组即可
    String regEx = "(<td height=\"20\" align=\"center\">)(.*)(<\\/td>)";
    String fileName = "dsfkjld<td height=\"20\" align=\"center\">姓名</td>eesdf";
    Pattern p = Pattern.compile(regEx);
    Matcher m = p.matcher(fileName);
    MatchResult matchResult = m.toMatchResult();
    System.out.println(matchResult.groupCount());
    System.out.println(matchResult.group());
    for (int i=0; i< matchResult.groupCount();i++) {
    System.out.println(matchResult.group(i));
    }
      

  2.   

    String regEx = "(<td height=\"20\" align=\"center\">)(.*?)(<\\/td>)";
    String fileName = "dsfkjld<td height=\"20\" align=\"center\">姓名1</td>eesdfdsfkjld<td height=\"20\" align=\"center\">姓名2</td>eesdf";
    Pattern p = Pattern.compile(regEx);
    Matcher m = p.matcher(fileName);
    while(m.find()) {
    //group:0-匹配的全部字符串;1-正则表达式的第一个分组;2-正则表达式的第二个分组
    for (int i=0; i<=m.groupCount();i++) {
    System.out.println(m.group(i));
    }
    }