日期:2014-05-17  浏览次数:20626 次

正则取值的问题急
我想实现抓取{}内的内容,用正则付助软件 可以正确的提取但是放到java里就报错,各位帮帮忙看看怎么处理.
谢谢了! 分不多了 就只能给这点了  麻烦了
String html={$xh(Nav,2/1/1/1)$}</h1><p>sdasdasd</p><p>Hello Worsssld!</p>{$end$};
  public String gettp(String html) {
String patternStrs = "{[^}]*}";//匹配的正则表达式
Pattern pattern = Pattern.compile(patternStrs);
Matcher matcher = pattern.matcher(html);
String str = "";
while (matcher.find()) {
str = matcher.group(1);
}
return str;
}
------最佳解决方案--------------------
正则中的{开始时有特殊含义所以需要转义\\{
而且你这里没有组1,正则中的组是用()括起来的
所以你的正则应改为
String patternStrs = "\\{([^}]*)}";//匹配的正则表达式

------其他解决方案--------------------
嗯 谢谢楼上。问题解决了