正则表达式提取<div class>中间的文字出来怎么做

正则表达式提取<div class>中间的文字出来怎么做,第1张

方法有很多,如果非要用表达式的话

<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">下面的所有内容。谢谢了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9339541.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存