<TD width="130" align="center" noswap>您查询的手机号码段</TD>
<TD width=* align="center" class=tdc2>15820420875</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">卡号归属地</td><!-- <td width="130" align="center">卡号归属地</TD> -->
<TD class="tdc2" align="center">广东 深圳</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<!-- <td width="130" align="center" noswap></td> --><TD width="130" align="center" noswap>卡 类 型</td><td align="center" class='tdc2'>移动动感地带卡</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">区 号</TD>
<!-- <td></td> --><TD align="center" class=tdc2>0755</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">邮 编</TD>上述为所用JAVA写的抓取的网页内容,现在要在JAVA里写个正则把几个信息内容提取出来:
15820420875、广东、深圳、移动动感地带卡。要提取这四个信息,各大哥帮下,急用啊,不用得用怎么写一条正则来匹配提取上述四个信息.各位大哥,能帮小弟写个用在JAVA里的正则吗,真的很急!网上查半天也搞不懂。 String REGEX = "";
p1 = Pattern.compile(REGEX);
m1 = p1.matcher(htmlSource);
while (m1.find()) {
result1 = m1.group(0);
System.out.println(result1);
}
我想用上面的语句把我想要的四个信息提取出来
<TD width=* align="center" class=tdc2>15820420875</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">卡号归属地</td><!-- <td width="130" align="center">卡号归属地</TD> -->
<TD class="tdc2" align="center">广东 深圳</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<!-- <td width="130" align="center" noswap></td> --><TD width="130" align="center" noswap>卡 类 型</td><td align="center" class='tdc2'>移动动感地带卡</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">区 号</TD>
<!-- <td></td> --><TD align="center" class=tdc2>0755</TD>
</TR>
<TR class=tdc bgcolor=#EFF1F3>
<TD align="center">邮 编</TD>上述为所用JAVA写的抓取的网页内容,现在要在JAVA里写个正则把几个信息内容提取出来:
15820420875、广东、深圳、移动动感地带卡。要提取这四个信息,各大哥帮下,急用啊,不用得用怎么写一条正则来匹配提取上述四个信息.各位大哥,能帮小弟写个用在JAVA里的正则吗,真的很急!网上查半天也搞不懂。 String REGEX = "";
p1 = Pattern.compile(REGEX);
m1 = p1.matcher(htmlSource);
while (m1.find()) {
result1 = m1.group(0);
System.out.println(result1);
}
我想用上面的语句把我想要的四个信息提取出来
public static void main(String[] args) {
String str = "<TD width=\"130\" align=\"center\" noswap>您查询的手机号码段</TD>\n"+
"<TD width=* align=\"center\" class=tdc2>15820420875</TD>\n"+
"</TR>\n"+
"<TR class=tdc bgcolor=#EFF1F3>\n"+
"<TD align=\"center\">卡号归属地</td><!-- <td width=\"130\" align=\"center\">卡号归属地</TD> -->\n"+
"<TD class=\"tdc2\" align=\"center\">广东 深圳</TD>\n"+
"</TR>\n"+
"<TR class=tdc bgcolor=#EFF1F3>"+
"<!-- <td width=\"130\" align=\"center\" noswap></td> --><TD width=\"130\" align=\"center\" noswap>卡 类 型</td><td align=\"center\" class='tdc2'>移动动感地带卡</TD>"+
"</TR>"+
"<TR class=tdc bgcolor=#EFF1F3>"+
"<TD align=\"center\">区 号</TD>"+
"<!-- <td></td> --><TD align=\"center\" class=tdc2>0755</TD>"+
"</TR>"+
"<TR class=tdc bgcolor=#EFF1F3>"+
"<TD align=\"center\">邮 编</TD>";
str = str.replaceAll("<!--.*?-->","");//先把<!---->这里面的东西去掉
Matcher m = Pattern.compile("(?is)<td.*?>您查询的手机号码段</td>.*?<td.*?>(.*?)</td>.*?<td.*?>卡号归属地</td>.*?<td.*?>(.*?)</td>.*?<td.*?>卡 类 型</td>.*?<td.*?>(.*?)</td>").matcher(str);
if(m.find()){
System.out.println(m.group(1)+","+m.group(2)+","+m.group(3));
}
}
Document document = Jsoup.connect("http://www.ip138.com:8080/search.asp")
.data("action","mobile")
.data("mobile","15820420875")
.timeout(3000).
post();
Elements elements = document.select(".tdc2");
for(Element element : elements){
System.out.println(element.text());
}
结果
15820420875
广东 深圳
移动动感地带卡
0755
518000 更详细的..
,问题可以了,谢谢你!还有各位热心回复解答的朋友