读书人

j2me如何实现类似正则表达式的功能提

发布时间: 2012-08-28 12:37:01 作者: rapoo

j2me怎么实现类似正则表达式的功能,提取文中字符???
下面为获取内容,现在想获取列表信息每行的第二列KH2009080003,第三列IDE技术有限公司:
<td><a href="Customer_info.aspx?cid=KH2009080003">KH2009080003</a></td>
<td>IDE技术有限公司</td>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<body class="body">
<div style="text-align:center"><br /><br />
<form name="form1" method="post" action="CustomerView.aspx" id="form1">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWNALc5OPwAgL/49e7CQK7q7GGCAKvpPuKAQKM54rGBgL2uKCYBwL9zvKVCgKL0/KVCgK+4PyJCQKh4PyJCQKg4PyJCQKj4PyJCQKl4PyJCQKNi6WLBgLMgIl1AvGpq8AOArTK/twBAtnzgKoPAsLkooEFAueNxZwDAoi35+sOAq3YicEEAtbBq9wCAvvqzasIAsyAjXUC8amvwA4CtMqi3wEC2fPEqg8C9IvBjQYC64vBjQYC6ovBjQYC6YvBjQYC6IvBjQYC74vBjQYC7ovBjQYC7YvBjQYC/IvBjQYC84vBjQYCnOe94ggC94+0nAkCmrmWpAsC9ZffmQYCuLvK3wwCk+TAmQ0C5uTuWgLBjeWUAQKkwOjuDAL/6N6oDQKZ57E/AvSPqHkCl7mKgQMC8pfT9g0aTDSd6omsmr8g2kP/PiYsjIeZ+w==" />

<table style="height: 24px; width: 920px;">

<tr style="background-color:#DFE8F7;height: 20px;">

<td style="height: 20px; width: 50px;">删除</td>

<td style="height: 20px; width: 90px;">客户编号</td>

<td style="height: 20px; width: 160px;">公司</td>

<td style="height: 20px; width: 80px;">联系人</td>

<td style="height: 20px; width: 108px;">职务</td>

<td style="height: 20px; width:100px;">电话</td>

<td style="height: 20px;width:85px">邮箱</td>

<td style="height: 20px;width:60px">会员类型</td>

<td style="height: 20px;width:80px">业务员</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl00_CheckBox1" type="checkbox" name="Repeater1$ctl00$CheckBox1" />



</td>

<td><a href="Customer_info.aspx?cid=KH2009080003">KH2009080003</a></td>

<td>IDE技术有限公司</td>

<td>王双成</td>

<td></td>

<td></td>

<td></td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl01_CheckBox1" type="checkbox" name="Repeater1$ctl01$CheckBox1" />



</td>

<td><a href="Customer_info.aspx?cid=KH2009080148">KH2009080148</a></td>

<td>北京里魁福特新材料技术有限公</td>

<td>张敏</td>

<td></td>

<td>13910090086</td>

<td>lkftzm@126.com</td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl02_CheckBox1" type="checkbox" name="Repeater1$ctl02$CheckBox1" />





</td>

<td><a href="Customer_info.aspx?cid=KH2009080149">KH2009080149</a></td>

<td>北京林创膜科技发展有限公司</td>

<td>高大林</td>

<td></td>

<td></td>

<td>Gao_garry@sohu.com</td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl03_CheckBox1" type="checkbox" name="Repeater1$ctl03$CheckBox1" />



</td>

<td><a href="Customer_info.aspx?cid=KH2009080150">KH2009080150</a></td>

<td>北京煤炭设计研究院</td>

<td>麦方代</td>

<td></td>

<td></td>

<td></td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl04_CheckBox1" type="checkbox" name="Repeater1$ctl04$CheckBox1" />



</td>

<td><a href="Customer_info.aspx?cid=KH2009080151">KH2009080151</a></td>

<td>北京美华博大环境工程有限公司</td>

<td>彭继宁</td>

<td></td>

<td></td>

<td></td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl05_CheckBox1" type="checkbox" name="Repeater1$ctl05$CheckBox1" />



</td>

<td><a href="Customer_info.aspx?cid=KH2009080152">KH2009080152</a></td>

<td>北京膜宇申达环境技术有限责任</td>

<td>李书申</td>

<td></td>

<td></td>

<td>Lishushen924@hotmail</td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl06_CheckBox1" type="checkbox" name="Repeater1$ctl06$CheckBox1" />



</td>

<td><a href="Customer_info.aspx?cid=KH2009080153">KH2009080153</a></td>

<td>北京诺百金科技发展有限公司</td>

<td>王冠军</td>

<td></td>

<td></td>

<td></td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl07_CheckBox1" type="checkbox" name="Repeater1$ctl07$CheckBox1" />



</td>



<td><a href="Customer_info.aspx?cid=KH2009080154">KH2009080154</a></td>

<td>北京排水集团高碑店污水处理厂</td>

<td>于凤英</td>

<td></td>

<td></td>

<td></td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr>

<td>

<input id="Repeater1_ctl13_CheckBox1" type="checkbox" name="Repeater1$ctl13$CheckBox1" />



</td>

<td><a href="Customer_info.aspx?cid=KH2009080160">KH2009080160</a></td>

<td>北京清欣洁达净水设备有限公司</td>

<td>办公室</td>

<td></td>

<td></td>

<td>qxjd688@hotmail.com</td>

<td>协会会员</td>

<td>admin</td>

</tr>



<tr style="background-color:#DFE8F7;">

<td colspan="9" style="height: 20px">





共331条记录  分24页  当前第1页  <a href='?pageNo=1'><b>1</b></a>  <a href='?pageNo=2'><b>[2]</b></a>  <a href='?pageNo=3'><b>[3]</b></a>  <a href='?pageNo=4'><b>[4]</b></a>  <a href='?pageNo=5'><b>[5]</b></a>  <a href='?pageNo=6'><b>[6]</b></a>  <a href='?pageNo=7'><b>[7]</b></a>  <a href='?pageNo=8'><b>[8]</b></a>  <a href='?pageNo=9'><b>[9]</b></a>  <a href='?pageNo=2'>下一页</a>  <a href='?pageNo=24'>尾页</b></a>   </td>

</tr>

</table>

<br /> <br />

</form> </div>

</body>

</html>




[解决办法]
用这个:

Java code
String html = "<td> <a href=\"Customer_info.aspx?cid=KH2009080003\">KH2009080003 </a> </td> <td>IDE技术有限公司 </td>"Pattern pat = Pattern.compile("href[^>]+?>([^<]+).+<td>([^<]+)<.+");Matcher mat = pat.matcher(html);while (mat.find()) {   String fid = mat.group(1);   String fname = mat.group(2);   System.out.println("fid: " + fid);   System.out.println("fname: " + fname);   }
[解决办法]
j2me基本API里应该没有正则表达式相关的。
你这么大的数据量,只需要那么一点点有效信息,我建议LZ应该把这个数据提取过程放在server端进行,那样比较合理。
然后2楼说的这种正则表达式结构就可以用在服务器端了。服务器筛选数据结束后,只需要把有效信息发送给客户端即可。


[解决办法]
最好不要把XML数据传送到手机上,直接用二进制数据,体积小,解析也方便

读书人网 >J2ME开发

热点推荐