我想获取一个网页里所有中文,用正则表达式应该如何编码?
Patternpa=Pattern.compile("/u4e00-/u9fa5");//源码中标题正则表达式Matcherma=pa.matcher(regex);wh...
Pattern pa = Pattern.compile("/u4e00-/u9fa5");//源码中标题正则表达式
Matcher ma = pa.matcher(regex);
while (ma.find()){
System.out.println(ma.group());
}
}
我想获取一个网页里所有中文,应该如何编码 展开
Matcher ma = pa.matcher(regex);
while (ma.find()){
System.out.println(ma.group());
}
}
我想获取一个网页里所有中文,应该如何编码 展开
1个回答
2015-06-03 · 知道合伙人互联网行家
关注
展开全部
由于不会弄程序只会正则表达式因此只能给你提供一下正则表达式了,不过你会程序,这个问题就会变得很简单了。我将所有的东西用正则表达式匹配出来,你输出之后用程序做个替换就可以实现你要的那种效果了。
正则:<tr style="display:" id="tr\d+"[^>]*?>\s*<td>([^<]*?)</td>[\s\S]+?<tr align="center" >[\s\S]+?<tr align="center" >\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*? "><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>
图片:
从图片里面不难看出,将所有的项都匹配出来了。之后你按照顺序输出捕获组1-11就是你要的那些结果,在输出的时候可以按照你需要的格式来进行输出。
输出完成之后做一个替换就可以了如果是 ;替换成没有课,如果是小黑点,替换成有课,就OK了。
正则:<tr style="display:" id="tr\d+"[^>]*?>\s*<td>([^<]*?)</td>[\s\S]+?<tr align="center" >[\s\S]+?<tr align="center" >\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*? "><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>\s*<td[^>]*?>(?:<a href="#" title="[^"]*?"><font color="#\w+">|)([\s\S]*?)(?:</font></a>|)</td>
图片:
从图片里面不难看出,将所有的项都匹配出来了。之后你按照顺序输出捕获组1-11就是你要的那些结果,在输出的时候可以按照你需要的格式来进行输出。
输出完成之后做一个替换就可以了如果是 ;替换成没有课,如果是小黑点,替换成有课,就OK了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询