日期:2014-05-20  浏览次数:20714 次

匹配‘001001瓶子个10.0020.00邵阳’的正则表达式
匹配‘001001 瓶子 个 10.00 20.00 邵阳’的正则表达式
中间是以制表符tab(\t)分割
Pattern p =Pattern.compile(".*[\\t]$");我这样写不知道为什么匹配不到?
------最佳解决方案--------------------
"$"这个,匹配的是整个字符串的结束
"dddd aaaa cccc eeee\t"只有这种情况能匹配,而且是这整个字符串
".*?\t"这个可以得到你想要的结果
------其他解决方案--------------------
你这个匹配的是“前面任意字符,最后以\t结尾”的字符串
把$删掉就行了
------其他解决方案--------------------
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
不知道错在那里?
------其他解决方案--------------------
非常感谢!