regex - 用于在 HTML 中查找列表起始端的正则表达式

标签 regex

我在网页中有一个文本框,我正在使用 javascript 来解析和修改 HTML 格式。 90% 的效果非常好,我试图支持的最后一个主要内容是从 word 文档复制和粘贴。我基本上完全明白了,我只是有点卡在查找列表并将它们包装在 UL 标签中..

因此,我想使用正则表达式在这段文本中找到列表:

<p>paragraph goes here

<li>goes here<br/>
<li>list item 2<br/>
<li>list item 3<br/>

<p>another paragraph

并包裹<li>带有 <ul> 的部分标签。我的正则表达式 foo 不太好,有人可以帮忙吗?

-----更新-----

虽然我感谢所有反馈,基本上表明我需要从头开始解决这个问题,但我没有时间这样做。我完全理解正则表达式不是处理 HTML 格式的理想方式,但我现在如何使用它,它将处理我的用户希望做的大部分事情。我只需要 HTML 标记的子集,而不是完整的 HTML 编辑器。

我的内容来源将是用户从 word 文档(大约 99.9%)复制和粘贴的时间。我使用正则表达式将 HTML 标签插入到纯文本中。对于列表,我发现项目符号字符 MS word 插入到它的复制文本中并将其替换为 <LI>标签。我只是想让包装 <LI> 更加用户友好带有 <UL> 的标签标签。

我将研究如何正确结束我的标签,所以..假设它们正确结束,用 <ul> 包装我的列表项的正则表达式是什么?标签?

谢谢!

最佳答案

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski

  1. 正则表达式和 HTML 尤其不适合。

  2. 现在是 2009 年,请在您的 HTML 中使用结束标记。 (如果您真的想要对您的 html 进行正则表达式,那么仅此一项就可以帮助您。

  3. 如果您已经在浏览器中获得此页面,请使用 DOM!让浏览器为您解析 HTML(必要时将其插入隐藏的 div)并导航生成的 DOM 树。

关于regex - 用于在 HTML 中查找列表起始端的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/832060/

相关文章:

Ruby Regex,获取所有可能的匹配项(不截断字符串)

python - 是否可以在 python 中标记已经屏蔽的文本?

Python 正则表达式匹配带转义单引号的引号字符串

php - 如何使用 RegEx 匹配任何不包含特定单词的内容

正则表达式贪婪问题

c# - 正则表达式限制输入到纬度(十进制度)文本框

python - python 中文本的 n 元语法

regex - 如何使用 grep 在同一行中查找 3 个或更多单词并仅突出显示它们而不是整个文本?

Ruby 与扫描字符串的长度不一致的结果

php - 正则表达式将文本替换为标签 html 以字符开头