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

正则匹配问题,如何把一段文本中的内容取出来,求高手解答
以下面为开始
<!--分割栏--><div class="spacer8"></div><div class="mainFrame">       
以下面为结尾
<input name="" onclick='copyToClipBoard()' type="button" value="点击此处复制本网址,可传给QQ/MSN上的好友" style="width:400px" />
当中的内容,提取出来

这个正则表达式,如何写,求高手解答

------解决方案--------------------
^<div class="spacer8"></div><div class="mainFrame">    
.
<input name="" onclick='copyToClipBoard()' type="button" value="点击此处复制本网址,可传给QQ/MSN上的好友" style="width:400px" />
$

以。。开头,以。。结尾,注意特殊符号的转义
------解决方案--------------------
(?<=<div class="mainFrame">).+(?=<input name="" onclick='copyToClipBoard\(\)' type="button" value="点击此处复制本网址,可传给QQ/MSN上的好友" style="width:400px" />)

这个是可以的,但是网上很多在线测试对正则支持的不够好,零宽度正回顾后发断言这个很多都不支持,你试一下看可以不
------解决方案--------------------
楼上正解,但非捕获前面的写错了
------解决方案--------------------
楼上的方法。试试。
------解决方案--------------------
String regex="(?s)<!--分割栏--><div class="spacer8"></div><div class="mainFrame">(.*?)
<input name="" onclick='copyToClipBoard()' type="button" value="点击此处复制本网址,可传给QQ/MSN上的好友" style="width:400px" />"
//转义你自己填吧
Matcher m = Pattern.compile(regex").matcher("这里填输入内容");
while(m.find()){
System.out.println(m.group(1));
}