正则匹配到多个结果,如何取最后一个结果?

jourdonWang 2018-06-29 05:07:36
比如内容是这样的
```
<div class="dddd"></div>
//其它内容
<div class="11">aaaaa</div>
//其它内容
<div class="11">bbbbb</div>
//其它内容
<div class="11">cccccc</div>
//其它内容
<div class="11">ddddd</div>
//其它内容
```
实际的内容会比这个复杂很多,
我希望可以匹配到的内容是最后的 `<div class="11">ddddd</div>`,
我的正则表达式`<div class="11">(.*)</div>`,

匹配到的结果是

```
<div class="11">aaaaa</div>
<div class="11">bbbbb</div>
<div class="11">cccccc</div>
<div class="11">ddddd</div>
```
我如何用正则直接匹配到最后一个结果?或者匹配到任意一个结果?
...全文
2201 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luyaran 2018-07-09
  • 打赏
  • 举报
回复
PHP可以使用preg_match_all来匹配你正则中的所有符合条件的内容,完事之后,你可以通过数组操作来获取你想要的数据,获取数组最后一个元素可以使用end函数
xuzuning 2018-06-29
  • 打赏
  • 举报
回复
$s =<<< TXT
<div class="dddd"></div>
//其它内容
<div class="11">aaaaa</div>
//其它内容
<div class="11">bbbbb</div>
//其它内容
<div class="11">cccccc</div>
//其它内容
<div class="11">ddddd</div>
//其它内容
TXT;
preg_match_all('@<div class="11">(.*)</div>@', $s, $m);
print_r($m);

Array
(
[0] => Array
(
[0] => <div class="11">aaaaa</div>
[1] => <div class="11">bbbbb</div>
[2] => <div class="11">cccccc</div>
[3] => <div class="11">ddddd</div>
)

[1] => Array
(
[0] => aaaaa
[1] => bbbbb
[2] => cccccc
[3] => ddddd
)

)

没什么问题,因为符合条件的很多
取哪个由你定

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧