RT:求一个能匹配HTML代码中....标签的正则表达式???
HTML代码可以看成是一个字符串,我试了好多帖子中的正则表达式,自己也写过,都有问题。比如对 搜狐 的首页进行匹配。
我自己写的:
String html = html .replaceAll("", ""); (不考虑HTML Code换行,我已经去掉换行了)
老外帖子上找的:
String html = html .replaceAll("))*+", "");
希望有哥们指点! 谢谢!!!
要能匹配有嵌套HTML标签的,(可以不考虑换行问题),样本如下:
[code="java"]
str=str.replace(/</g,'<');
str=str.replace(/>/g,'>');
var reg=/]*>.*(?=<\/script>)<\/script>/gi;<br> alert(str.replace(reg,''));<br> [/code]<br> 怀疑是HTML转义的问题<br> 我一般都用replace();js不像java 不知道有没replaceAll这玩意<br> 后面带的g就是all的意思</p>
[b]*?[/b]
[code="java"]
var str='
:x 你不会是说要像java这样的正则吧 抱歉 我没搞过java的正则
[b]少写了个点
.*?[/b]
[code="java"] public static void main(String[] args) {
String str ="
str = str.replaceAll("<script\\b.*?>.*?</script>", "");
System.out.println(str);
}[/code]
[code="java"]
str=str.replace(/</g,'<');
str=str.replace(/>/g,'>');
var reg=/]*>(.|\n)*?(?=<\/script>)<\/script>/gi;<br><br> alert(str.replace(reg,''));<br> [/code]<br> 上次没考虑换行符号 帮你测试了 没问题<br> PS:今天还上班 很郁闷</p>
我有一个API文档 你可以看看 里边有正则表达式的详细介绍
[url]http://doc.51windows.net/jscript5/?url=/jscript5/html/jsoprinstanceof.htm
[/url]
[code="java"]
var str = "<div>\n ... <script type=\'text/javascript\' ...>\n ....\n document.writeln(\'<h1>在JS代码里也可能会嵌套HTML标签等等,各种符合语法的嵌套</h1>\');\n"; str = str + " ....\n \<\/script\>\n ...\n <script type=\'text/javascript\' ...>\n ....\n"; str = str + "document.writeln(\'<h1>在JS代码里也可能会嵌套HTML标签等等,各种符合语法的嵌套</h1>\');\n ....\n \<\/script\>\n ....\n\<\/div\>\n"; alert(str); var reg = /<\s*script.*>(\s*|\S*)*<\/\s*script\s*>/gim; alert(str.replace(reg,''));[/code]
Pattern p = Pattern.compile("(?is)]*?>.*?<\/script>");<br> Matcher m = p.matcher(html);<br> return m.replaceAll("");<br> 记得给分哦!</p>
Pattern p = Pattern.compile("(?is)]*?>.*?<\/script>"); <br> Matcher m = p.matcher("你要判断的字符串如:<script language=vbscript >3333333333");
return m.replaceAll("");
Pattern p = Pattern.compile("(?is)]*?>.*?<\/script>");<br> Matcher m = p.matcher("要判断的字符串<script type= >3433");
try{
if(m.start()>-1){
System.out.println("存在");
}
}catch(IllegalStateException e){
if(m.matches()){
System.out.println("存在");
}else{
System.out.println("不存在");
}
}