正则表达式替换两个哈希符号之间、两个标签之间的文本,但保留其他所有内容

标签 regex replace coldfusion full-text-search

所以我需要将#var# 和#var2# 替换为<cfqueryparam value="#var#" /><cfqueryparam value="#var2#" /> .但是,只有当#var# 包含在 <cfquery></cfquery> 中时才会发生这种情况。 .

作为一个额外的标准,cfquery-tag 将包含哈希符号前后的文本。这是一个例子:

<cfquery datasource="#tablename#">
   SELECT * FROM table WHERE name = #var#, somethingelse = #var2#;
</cfquery>

我需要一个正则表达式,它仅在两个哈希符号之间以及可能具有或不具有属性的 cfquery-tag 内时匹配“测试”。

我正在使用 grepWin 进行替换。

最佳答案

另一种正则表达式解决方案:

你可以使用以下来匹配:

(#[^#><]*#)(?=[^>]*<\/cfquery>)

并替换为:

<cfqueryparam value="$1" />

DEMO

关于正则表达式替换两个哈希符号之间、两个标签之间的文本,但保留其他所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506640/

相关文章:

java - 如何使用模式重复?

javascript - 去掉指定标签ul、li前后的\r\n\r\n其余地方和前后

c# - 替换字符串中的某个子字符串 - .Replace() 方法对我不起作用 C#

javascript - 如何重复onClick文本输入功能?

带转义引号的带引号字符串的正则表达式

regex - 贪婪的正则表达式与 postgresql 不兼容? (子串匹配)

string - 如何使用 Julia 替换字符串中的多个字符

coldfusion - Coldfusion中的var关键字以及使用次数

coldfusion - 在 ColdFusion 中将 XML 对象转换回字符串

coldfusion - 使用 cfhttp 检索公共(public)电子表格文档