首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java正则的有关问题

2012-02-13 
java正则的问题以下是代码:ListString resultList new ArrayListString()Pattern p Pattern.comp

java正则的问题
以下是代码:

  List<String> resultList = new ArrayList<String>();
  Pattern p = Pattern.compile(".htm\">([^&#37;]*)");//匹配.htm">开头,&#37;结尾的文档
  Matcher m = p.matcher(html_line);//开始编译
  while (m.find()) 
  {
  resultList.add(m.group(1));//获取被匹配的部分
  }
我是想抽出字符串
<td width="18%"><a href="taiwan/Changhua.htm">30&#37;</td>
中的30这个位置的数字,可是却抽不出来,但要是数字不是30而是其他,比如
<td width="18%"><a href="taiwan/Changhua.htm">40&#37;</td>
就可以抽出40,求高手指点为什么,错在哪

[解决办法]
改成这样试试:

Java code
Pattern p = Pattern.compile(".htm\">(\\d+)[^&#37;]*");
[解决办法]
[^&#37;]

代表不能是3、7等任何一个,你30里面可是包含了3的。

参考楼上哥们的做法。

热点排行