<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");
请大家帮帮忙谢了。 分可以追加。
对正则不是很懂请大家帮帮忙。。
自己试写了一个。但是不得其解。
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");
请大家帮帮忙谢了。 分可以追加。
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());
}
}