【问题标题】:Regular expression to match text outside html tags and not between specific tag正则表达式匹配 html 标签外的文本,而不是特定标签之间的文本
【发布时间】:2015-02-21 15:38:32
【问题描述】:

我试图获得一个正则表达式来匹配 html 标签之外和之间的一些单词(而不是标签本身),但是当它们位于 html 标题标签(h1、h2、h3 等)之间时,我还需要排除它们。 ..)

这是我尝试过的:/(\bword\b)(?=[^>]*(<|$))/i

现场示例: https://regex101.com/r/rM8tU3/1

排除标题标签是唯一缺少的元素。

【问题讨论】:

  • 你使用什么语言?
  • php,刚刚编辑了我的问题以添加它。
  • 您能否在此处提供输入以及预期输出?
  • 正则表达式解析html是个坏主意
  • 我希望匹配第一个括号中设置的单词(它们在实时示例中以绿色匹配)但我不想在它们介于 <h1></h1> 之间时匹配它们(不像活生生的例子)

标签: php html regex


【解决方案1】:

使用此模式跳过/失败<h1></h1>之间的所有内容
根据下面的评论更新

<h1>[^<>]*<\/h1>(*SKIP)(*F)|(\bsample|text\b)(?=[^>]*(?:<|$))  

Demo

【讨论】:

  • 谢谢!但它匹配 href="sample.html" 并且不应该!
猜你喜欢
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2011-12-15
相关资源
最近更新 更多