使用 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]
而不是 .
。
我是正则表达式的新手,需要一些帮助。
我正在尝试使用 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]
而不是 .
。