【问题标题】:Find pattern in Html using regex [closed]使用正则表达式在 Html 中查找模式 [关闭]
【发布时间】:2014-05-09 15:25:12
【问题描述】:

我正在浏览一个 html 页面以获取数据。

正则表达式是否适合这种任务?我正在寻找我的数据应该存在的模式。

如果正则表达式是正确的做法..我将不胜感激找到这种模式:

<span>3060</span>

模式正好是 span 元素内的四位数字 (0-9)

谢谢

【问题讨论】:

  • 你试过什么?你对正则表达式做过研究吗?你在网上搜索过这个问题吗?
  • 为什么这需要用正则表达式来完成?我想 DOM 解析器更适合这项任务。
  • @EkoostikMartin,在这里并不适用,他既不尝试解析也不担心嵌套元素。也许他正在编辑器中搜索 html 或在一堆 html 文件上使用一些搜索工具。正则表达式对此非常简单......像&lt;span[^&gt;]*&gt;[0-9]{4}&lt;/span&gt; 这样的东西应该可以正常工作。
  • @smerny - 如果他正在搜索未知且无限的 HTML 块,“this”确实适用于此。根据模式识别和选择某物,顾名思义就是解析,不是吗?

标签: html regex


【解决方案1】:

试试这个:

preg_match_all("/(<span>\d{4}<\/span>)/", $myinput, $myoutput);

http://3v4l.org/72ClO

请注意这不会解析 html。它会查找以&lt;span&gt; 开头的内容,然后是4 位数字,然后是&lt;/span&gt;。那里有一个空格,会失败。

只用这个来得到4位数字

preg_match_all("/<span>(\d{4})<\/span>/", $myinput, $myoutput);

http://3v4l.org/FF4Y9

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2016-09-28
    • 1970-01-01
    相关资源
    最近更新 更多