匹配‘001001 瓶子 个 10.00 20.00 邵阳’的正则表达式
中间是以制表符tab(\t)分割
Pattern p =Pattern.compile(".*[\\t]$");我这样写不知道为什么匹配不到?

解决方案 »

  1.   

    import java.util.regex.Matcher;
     import java.util.regex.Pattern;
     
     public class Testzz {
     
      public static void main(String[] args) {
      String s ="dddd aaaa cccc eeee";
     // System.out.println(s.matches(".*\\t$"));
      Pattern p = Pattern.compile(".*\\t$");
      Matcher m = p.matcher(s);
      while(m.find()) {
      System.out.println(m.group());
      }
      }
     }
     为什么m.find()结果为false ,我觉的应该打印出
    dddd
    aaaa
    cccc
    不知道错在那里?
      

  2.   

    "$"这个,匹配的是整个字符串的结束
    "dddd aaaa cccc eeee\t"只有这种情况能匹配,而且是这整个字符串
    ".*?\t"这个可以得到你想要的结果