有人可以用我的正则表达式帮助我获取 html 代码中的文本吗? [复制]

Posted

技术标签:

【中文标题】有人可以用我的正则表达式帮助我获取 html 代码中的文本吗? [复制]【英文标题】:Can someone help me with my Regex to get the text in html code? [duplicate] 【发布时间】:2015-03-25 18:51:03 【问题描述】:

我需要在 php 代码中使用正则表达式从 html 代码中的文本中获取文本。但也许我的代码中某处似乎我错了。请你帮我修复我的代码。非常感谢! 这是我的正则表达式模式:

/<a\shref="\/vn\/tags\/.*">(?P<tags>.*)<\/a>/

这是示例主题:

<ul class="clearfix"><li><span class="tagBoxTitle">Từ khóa: </span></li><li><a href="/vn/tags/Th%E1%BB%B1c%20ph%E1%BA%A9m/index.html">Thực phẩm</a>,&nbsp;</li><li><a href="/vn/tags/gi%C3%A1-c%E1%BA%A3/index.html">giá-cả</a>,&nbsp;</li><li><a href="/vn/tags/h%C3%A0ng-ti%C3%AAu-d%C3%B9ng/index.html">hàng-tiêu-dùng</a>,&nbsp;</li><li><a href="/vn/tags/gi%E1%BA%A3m-gi%C3%A1/index.html">giảm-giá</a>,&nbsp;</li><li><a href="/vn/tags/c%C6%B0%E1%BB%9Bc-v%E1%BA%ADn-t%E1%BA%A3i/index.html">cước-vận-tải</a>,&nbsp;</li><li><a href="/vn/tags/gi%C3%A1-x%C4%83ng/index.html">giá-xăng</a>,&nbsp;</li><li><a href="/vn/tags/x%C4%83ng-d%E1%BA%A7u/index.html">xăng-dầu</a>,&nbsp;</li><li><a href="/vn/tags/h%C3%A0ng-h%C3%B3a/index.html">hàng-hóa</a>,&nbsp;</li><li><a href="/vn/tags/CPI/index.html">CPI</a>,&nbsp;</li><li><a href="/vn/tags/T%E1%BA%BFt-nguy%C3%AAn-%C4%91%C3%A1n/index.html">Tết-nguyên-đán</a></li></ul>

希望我能尽快得到答复,再次感谢!

【问题讨论】:

有一些像 RegExr 这样的工具可以帮助你完成类似的任务 @j_s_stack 对不起,你能告诉我为什么吗? :( html 解析器有什么问题? @AvinashRaj 我在上面的解析器中使用了一些测试正则表达式在线工具,但我无法获取 元素中的文本 【参考方案1】:

Don't parse html with regex.

如果您想要正则表达式解决方案,请将所有 .* 转换为 .*? 以进行非贪婪匹配。

<a\shref="\/vn\/tags\/.*?">(?P<tags>.*?)<\/a>

DEMO

【讨论】:

以上是关于有人可以用我的正则表达式帮助我获取 html 代码中的文本吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

有人可以帮助我使用.net中的正则表达式吗

有人可以帮助我更好地理解正则表达式中的零或一,并可能在同一个正则表达式语句中嵌套另一个

使用正则表达式替换文件数据

从 HTML 中提取正则表达式和字符串

使用 PHP 正则表达式从 html 中提取 JSON 对象

正则表达式在最后一次匹配后不匹配文本