RegEx在两个哈希符号之间,两个标签之间替换文本,但保留其他所有内容

Tor*_*eit 3 regex coldfusion full-text-search replace

所以,我需要更换#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>
Run Code Online (Sandbox Code Playgroud)

我需要一个只在两个哈希符号之间和cfquery-tag内部匹配 'test' 的正则表达式,它可能有也可能没有属性.

我正在使用grepWin进行替换.

kar*_*ala 6

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

您可以使用以下内容进行匹配:

(#[^#><]*#)(?=[^>]*<\/cfquery>)
Run Code Online (Sandbox Code Playgroud)

并替换为:

<cfqueryparam value="$1" />
Run Code Online (Sandbox Code Playgroud)

DEMO