所以我需要用<cfqueryparam value="#var#" />
和<cfqueryparam value="#var2#" />
替换#var#和#var2#。但是,仅当#var#包装在<cfquery></cfquery>
内时才发生这种情况。
作为额外的条件,cfquery-tag将在哈希符号之前和之后包含文本。这是一个例子:
<cfquery datasource="#tablename#">
SELECT * FROM table WHERE name = #var#, somethingelse = #var2#;
</cfquery>
我需要一个正则表达式,仅当与'test'匹配时,它才位于两个哈希符号之间并且位于可能具有或不具有属性的cfquery-tag中。
我正在使用grepWin进行替换。
最佳答案
使用正则表达式的另一种解决方案:
您可以使用以下内容进行匹配:
(#[^#><]*#)(?=[^>]*<\/cfquery>)
并替换为:
<cfqueryparam value="$1" />
参见DEMO