【问题标题】:Match trailing <br> tag with Regex将尾随 <br> 标记与正则表达式匹配
【发布时间】:2016-05-22 15:12:30
【问题描述】:

我有一个很长的单行 HTML 字符串。我正在尝试使用正则表达式来匹配以START 开头的行之后的&lt;br&gt; 标记。行中的最后一个单词会有所不同。

HTML:

<br>This is the first sentence<br>START capture tag<br>This is the third sentance<br>

我能够用这个表达来捕捉句子:

START.*?(?=<)

如果不包含前面的句子,我无法弄清楚如何选择尾随 br 标记。我尝试使用正面的lookbehind,但它不接受量词。

https://regex101.com/r/lM3eH7/1

任何帮助将不胜感激!

【问题讨论】:

  • 上述输入 HTML 字符串的预期输出是什么?
  • 只是“
    ”。我将在 Swift 中使用 stringByReplacingMatchesInString 来运行查找替换。

标签: regex


【解决方案1】:

说明

通过使用\K,我们可以重置捕获以仅匹配所需的文本。

START.*?\K<br>

现场演示https://regex101.com/r/fM0bG0/1

有关\K 的更多信息,请访问regular-expressions.info/keep.html

【讨论】:

  • 太棒了。谢谢你。不知道我在阅读的时间里怎么错过了这个选项。
猜你喜欢
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
相关资源
最近更新 更多