请高手帮忙写个正则表达式程序。 谢谢。

book_leeray 2010-05-21 09:45:32


<dl class="tbox"> <dt><strong><a href="/article/teshufanyi/">特殊翻译</a></strong><span class="more"><a href="/article/teshufanyi/">更多...</a></span></dt> <dd> <ul class="d1 ico3"> <li><span>04-24</span><a href="/article/teshufanyi/3815/">名片翻译</a></li> <li><span>04-24</span><a href="/article/teshufanyi/3816/">简历翻译</a></li> <li><span>04-24</span><a href="/article/teshufanyi/3817/">公司起名</a></li> <li><span>04-24</span><a href="/article/teshufanyi/3818/">翻译校对</a></li> <li><span>04-24</span><a href="/article/teshufanyi/3819/">中小企业翻译</a></li> <li><span>04-24</span><a href="/article/teshufanyi/3820/">出国翻译</a></li> <li><span>04-24</span><a href="/article/teshufanyi/3821/">包月服务</a></li> <li><span>04-24</span><a href="/article/teshufanyi/3822/">论文翻译</a></li> </ul> </dd> </dl><dl class="tbox"> <dt><strong><a href="/article/hangyefanyi/">行业翻译</a></strong><span class="more"><a href="/article/hangyefanyi/">更多...</a></span></dt> <dd> <ul class="d1 ico3"> <li><span>04-24</span><a href="/article/hangyefanyi/3823/">建筑翻译</a></li> <li><span>04-24</span><a href="/article/hangyefanyi/3824/">外贸翻译</a></li> <li><span>04-24</span><a href="/article/hangyefanyi/3825/">工程技术翻译</a></li> <li><span>04-24</span><a href="/article/hangyefanyi/3826/">农业翻译</a></li> <li><span>04-24</span><a href="/article/hangyefanyi/3827/">生物医学翻译</a></li> <li><span>04-24</span><a href="/article/hangyefanyi/3828/">汽车翻译</a></li> <li><span>04-24</span><a href="/article/hangyefanyi/3829/">新闻演讲稿翻译</a></li> <li><span>04-24</span><a href="/article/hangyefanyi/3830/">网站翻译</a></li> </ul> </dd> </dl>



我想把“特殊翻译”下的文章匹配出来放到list对象中。。。

例如 {/article/teshufanyi/3815/ 名片翻译} {/article/teshufanyi/3816/ 简历翻译} ...{/article/teshufanyi/3822/ 论文翻译}


对正则不是很懂。。。请大家帮帮忙。。
自己试写了一个。但是不得其解。



List<String,String> newsList = new ArrayList<String,String>();
String allHtmlSource = MyRSS.getHtmlSource("上面的html代码");
Pattern pattern = Pattern.compile(“(?<=teshufanyi)(.*)(?=hangyefanyi)”);
Matcher matcher = pattern.matcher(allHtmlSource);
while (matcher.find())
{
String str1 = matcher.group(1);
String str2 = matcher.group(2);
System.out.println("group.1="+str1);
System.out.println("group.2="+str2);

}
System.out.println("The End");




请大家帮帮忙。。。谢了。 分可以追加。
...全文
183 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
reelcol 2010-05-22
  • 打赏
  • 举报
回复
String allHtmlSource = MyRSS.getUrlContent("http://www.kuaiyilin.com/index2.html");
String regex = "(?<=<dt><strong><a href=\"/html/fanyiwenzhai/\">)(.*)(?=(</dd>){1}) ";
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE );
Matcher matcher = pattern.matcher(allHtmlSource);
String str = "";
while (matcher.find())
{
System.out.println("group1()="+matcher.group());
str = matcher.group();
}

regex = "(?<=<li><span>[0-9]{2}-[0-9]{2}</span><a href=\")[^\"]+(?=\">)";
pattern = Pattern.compile(regex);
matcher = pattern.matcher(str);
Pattern pattern1 = null;
Matcher matcher1 = null;
String url = null;
while (matcher.find())
{
System.out.print("group2()="+matcher.group());
url = matcher.group();
regex = "(?<="+url+"\">)[^<]+(?=</a>)";
pattern1 = Pattern.compile(regex);
matcher1 = pattern1.matcher(str);
while(matcher1.find()){
System.out.println("======="+matcher1.group());
}
}
eggno8 2010-05-22
  • 打赏
  • 举报
回复
这个关注一下~
危险的大猫 2010-05-22
  • 打赏
  • 举报
回复
帮你顶一下哈.等高手给你解答
book_leeray 2010-05-22
  • 打赏
  • 举报
回复
没人帮忙吗?

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧