使用 ColdFusion 正则表达式在较大的字符串中获取带有 HTML 标签的字符串

Get a string with HTML tags inside a larger string with ColdFusion regex

我是正则表达式的新手,需要一些帮助。

我正在尝试使用 ColdFusion REReplace 来抓取数据并获取我想要的内容。

这是我目前拥有的:

<cfoutput>
#REReplace("Remove this please <p>Make this Display Please</p> Remove this please", "", "", "All")#
</cfoutput>

什么正则表达式可以接受那个字符串并且 return 只能 "Make this Display Please"?

为了从较长的字符串中获取子文本,您需要将所有内容匹配到您需要的内容,使用捕获组 (...) 捕获您需要的内容,然后再匹配字符串的其余部分到最后。替换为 </code> 引用捕获组捕获的文本的反向引用。</p> <p>所以,使用</p> <pre><code>#REReplace("Remove this please <p>Make this Display Please</p> Remove this please", ".*<p>(.*?)</p>.*", "", "All")#

正则表达式匹配:

  • .* - 匹配除换行符之外的任何字符,从开头到最后 </p>
  • <p> - 文字 <p>
  • (.*?) - 除换行符外的0个或多个字符尽可能少(这里指的是最接近</p>
  • </p> - 匹配文字 </p>
  • .* - 将其余文本匹配到末尾(无换行符)。

要匹配换行符,请使用 [\s\S] 而不是 .