有一段要用于循环的淘宝源代码,比较乱,要取其中的2个字段:
先取字段:2010041879438999
再取字段:abcdefg
看看有什么简单高效的正则可以取到,注意一下:代码中2010041879438999和abcdefg均出现了多次,只取一次就可以。源代码如下:<tr >
<td class="type" > <a class="ico-shield" title="支付宝担保交易"><span>支付宝担保交易</span></a>
</td>
<td class="time2"> 2010.04.18 17:32
</td>
<td class="info">
<ul>
<li class="name">
<a title="淘宝购物-广东联通30元充值卡,10分钟到帐" href="https://lab.alipay.com/consume/queryTradeDetail.htm?tradeNo=2010041879438999" target="_blank">淘宝购物-广东联通30元充值卡,10分钟到帐</a>
</li>
<li class='no J-bizNo '>
交易号:
2010041879438999
</li>
</ul>
</td>
<td class="other" >
<ul>
<li class="name">
abcdefg
<a class="js-add-contact js-xbox J_contact_2088302099959745" title="添加联系人" href='https://lab.alipay.com/user/contacts/addOppositeAsContact.htm?oppositeCardNo=2088302099959745&oppositeNickName=abcdefg'></a>
</li>
<li>
<span class="ww:token" ww:params='nick=abcdefg&tnick=abcdefg&display=inline'></span>
</li>
</ul>
</td>
<td class=" outlay "> 支出
</td>
<td class="amount">
29.50
</td>
<td class="status">
交易关闭
</td>
<td class="action" >
<a href="https://lab.alipay.com/consume/queryTradeDetail.htm?tradeNo=2010041879438999" target="_blank">详情</a>
</td>
<td class="re" >
<a class="ft-btn
ico-flag-off re js-xbox" hidefocus="true" href="https://lab.alipay.com/consume/record/.htm?tradeNo=2010041879438999&_xbox=true" id="J_re_2010041879438999" title="点击编辑备注"></a>
</td>
</tr>
先取字段:2010041879438999
再取字段:abcdefg
看看有什么简单高效的正则可以取到,注意一下:代码中2010041879438999和abcdefg均出现了多次,只取一次就可以。源代码如下:<tr >
<td class="type" > <a class="ico-shield" title="支付宝担保交易"><span>支付宝担保交易</span></a>
</td>
<td class="time2"> 2010.04.18 17:32
</td>
<td class="info">
<ul>
<li class="name">
<a title="淘宝购物-广东联通30元充值卡,10分钟到帐" href="https://lab.alipay.com/consume/queryTradeDetail.htm?tradeNo=2010041879438999" target="_blank">淘宝购物-广东联通30元充值卡,10分钟到帐</a>
</li>
<li class='no J-bizNo '>
交易号:
2010041879438999
</li>
</ul>
</td>
<td class="other" >
<ul>
<li class="name">
abcdefg
<a class="js-add-contact js-xbox J_contact_2088302099959745" title="添加联系人" href='https://lab.alipay.com/user/contacts/addOppositeAsContact.htm?oppositeCardNo=2088302099959745&oppositeNickName=abcdefg'></a>
</li>
<li>
<span class="ww:token" ww:params='nick=abcdefg&tnick=abcdefg&display=inline'></span>
</li>
</ul>
</td>
<td class=" outlay "> 支出
</td>
<td class="amount">
29.50
</td>
<td class="status">
交易关闭
</td>
<td class="action" >
<a href="https://lab.alipay.com/consume/queryTradeDetail.htm?tradeNo=2010041879438999" target="_blank">详情</a>
</td>
<td class="re" >
<a class="ft-btn
ico-flag-off re js-xbox" hidefocus="true" href="https://lab.alipay.com/consume/record/.htm?tradeNo=2010041879438999&_xbox=true" id="J_re_2010041879438999" title="点击编辑备注"></a>
</td>
</tr>
解决方案 »
- Hibernate初学者出现一个错误,跪求高手解决!!!
- hibernate注解实现set集合排序该怎么实现
- axis2安装问题
- struts 2.0(web工程Struts2_HelloWorld)初探报错
- weblogic8.1和jdk1.5的问题
- 如何设置JBOSS服务器的默认访问页面
- 如何用SAX将XML中element的内容提取出来?
- 如何用PDFBox-1.8.3打印文件
- ssh中怎样产生点击一行表格然后按删除会删除掉这行数据
- spring+springMVC整合shiro出现异常
- hibernate如何处理数据删除标签?
- hibernate annotation 除了主键 也能自动增长吗?
var reg = /(?:tradeNo\=)(\d+)/g;
var res = reg.exec( s );
alert( res[1] );
s1 = 'a class="js-add-contact js-xbox J_contact_2088302099959745" title="添加联系人" href="https://lab.alipay.com/user/contacts/addOppositeAsContact.htm?oppositeCardNo=2088302099959745&oppositeNickName=abcdefg"></a>';
reg1 = /(?:oppositeNickName\=)(\w+)/mg;
res = reg1.exec( s1 );
alert( res[1] );
InputStream in=new FileInputStream("D:\\test\\regex.txt");//由于太多行,我存到文件里了
byte[]b=new byte[in.available()];
in.read(b);
// System.out.println(new String(b));
Matcher m=Pattern.compile("(?is).+?tradeno\\=([0-9]+).+?\\=([a-z]+)").matcher(new String(b));
if(m.find()){
System.out.println(m.group(1)+" "+m.group(2));
//2010041879438999 abcdefg
}