html - RegEx - 多次捕获

标签 html regex sublimetext sublimetext3

我目前正在尝试转换 HTML 表格,如下所示:

<table>
    <tr>
        <td>
            Some Text
        </td>
        <td>
            <img src="..." ...>
        </td>
    </tr>
    ...
</table>

进入这样的 HTML 列表:

<ul>
    <li>
        <div>
            <p> Some Text </p>
        </div>
        <img src="..." ...>
    </li>
    ...
</ul>

由于我需要在多个文件(100+)中执行此操作,因此我想使用正则表达式来完成它。然而,虽然我能够捕获我感兴趣的部分,但它似乎只捕获了捕获组的最后一次出现。

有没有办法取回所有捕获的零件?

这是我目前的进度:

<table>(?>\s*?<tr>\s*?<td>(.*?)<\/td>\s*?<td>.*?(<img[^>]*>).*?<\/td>.*?<\/tr>)+\s*?<\/table>

(如果您有兴趣,这里有一个可以摆弄的链接: https://regex101.com/r/hQ8pF1/2 )

我选择的编辑器是 Sublime Text(使用 PCRE 引擎 AFAIK),但我愿意使用任何东西来完成这项任务。

最佳答案

\s*?<tr>\s*?<td>(.*?)<\/td>\s*?<td>.*?(<img[^>]*>).*?<\/td>.*?<\/tr>sig对于选项应该这样做。

Sample .

关于html - RegEx - 多次捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30111832/

相关文章:

ios - ICECAST 数据的 NSRegularExpression 模式

php - 正则表达式 php 获取 mysql 插入值

sublimetext - 在自动完成列表中选择一个项目后移动光标

html - Css 可在容器内滚动

javascript - Reddit 如何使他们的登录/注册模态化?

html - 为什么 <feDropShadow> 不显示?

python - python中的正则表达式,需要从字符串中打印网站名称

php - 图片中的多个复选框

正则表达式匹配以 x 开头、以 y 结尾并包含 z 但中间不包含 x 的多行字符串

Sublime Text 2 中的 HTML 键盘快捷键?