我是正则表达式的新手,可以使用一些帮助。
我正在尝试使用ColdFusion REReplace
来抓取数据并获取我想要的内容。
这是我到目前为止所做的:
<cfoutput>
#REReplace("Remove this please <p>Make this Display Please</p> Remove this please", "", "", "All")#
</cfoutput>
正则表达式可以使用该字符串并仅返回“请显示此内容”?
答案 0 :(得分:2)
为了从更长的字符串中获取子文本,您需要根据需要匹配所有内容,使用捕获组(...)
捕获所需内容,然后将字符串的其余部分与结束。替换为\1
反向引用,引用捕获组捕获的文本。
所以,使用
#REReplace("Remove this please <p>Make this Display Please</p> Remove this please", ".*<p>(.*?)</p>.*", "\1", "All")#
正则表达式匹配:
.*
- 匹配任何字符,但从最开始到最后</p>
<p>
- 文字<p>
(.*?)
- 除了换行符号之外的0个或多个字符尽可能少(这意味着最接近</p>
这里)</p>
- 匹配文字</p>
.*
- 将文本的其余部分与结尾匹配(无新行)。要匹配换行符,请使用[\s\S]
代替.
。