
方法有很多,如果非要用表达式的话
<div class>()</div>
然后打印匹配到的对象就知道是什么内容了
汉字也可以匹配到,但要注意汉字编码
public static void main(String[] args) {
String source="<div class=\"hdwiki_tmml
\"><a class=\" FCK__AnchorC\" name=\"1\">是大家是否</a&
gt;</div><div class=\"hdwiki_tmml\"><a name=\"2\">士大夫士
大夫</a></div> ";
StringBuilder result=new StringBuilder();
Systemoutprintln("=======开始匹配文字内容========");
String patternStrs="(<div class=\"hdwiki_tmml\"><a+>)(+)(</a></div>)";
Pattern pattern=Patterncompile(patternStrs);
Matcher matcher=patternmatcher(source);
while(matcherfind()){
resultappend(matchergroup(2)+"\n");
}
Systemoutprintln(resulttoString());
Systemoutprintln("=======开始匹配name属性值========");
String patternName="(<div class=\"hdwiki_tmml\"><a+)name=\"(+)\">(+</a></div>)";
pattern=Patterncompile(patternName);
matcher=patternmatcher(source);
result=resultdelete(0, resultlength());
while(matcherfind()){
resultappend(matchergroup(2)+"\n");
}
Systemoutprintln(resulttoString());
} <php
$txt="< div id=\"etcTrans\" class=\"trans-container tab-content\"><ul><li >内容</li ></ul></div> ";
preg_match_all("/<\sdiv\s+id=\"etcTrans\"\s+()>()<\/div\s>/",$txt,$match);
preg_match_all("/<\sul\s><\sli\s>()<\/li\s><\/ul\s>/",$match[0][0],$match2);
echo $match2[1][0]; //输出内容2个字了
>
按照你里的代码,帮你做了一个示例,如下:
PHP代码:
$str = file_get_contents('/ceshihtml');preg_match('/<body>\s+<div class="zz">()<\/div>\s+<\/body>/s', $str, $result);
echo $result[1];
运行结果:
正则中的\s+是为了匹配body与div中的换行以及缩进符。如果在匹配前已经将换行以及缩进符都替换掉了可以不加\s+。
如果不明,可继续追问。
以上就是关于正则表达式提取<div class>中间的文字出来怎么做全部的内容,包括:正则表达式提取<div class>中间的文字出来怎么做、提取某一段div标签之间内容的正则表达式怎么写、php 用正则匹配最外层div下面的所有内容。如图所示匹配<div class="zz">下面的所有内容。谢谢了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)