Sql 在组a中找不到正则表达式查找字符串或在组b中找不到正则表达式查找字符串

Sql 在组a中找不到正则表达式查找字符串或在组b中找不到正则表达式查找字符串,sql,regex,coldfusion,Sql,Regex,Coldfusion,我试图在SQL语句中查找cfml变量(由#anyvariable#标识),这些变量不在cfml标记中,也不在cfml条件块中(由标识)。我已经编写了以下正则表达式: #任何变量#都可以在以下位置找到:(#[^##]+#) 内容可以通过以下内容找到:(?) 和(##########]+#)不在(?s)中(?一个选项可能是通过交替主动匹配“坏”序列,但不使用(?:)来“记住”,而您的“好”匹配最后运行并包含在捕获组中(): (?:)|(?:)|(#[^#]+#) 有两种方法可以做到这一点-一种方法

我试图在SQL语句中查找cfml变量(由#anyvariable#标识),这些变量不在cfml
标记中,也不在cfml条件块中(由
标识)。我已经编写了以下正则表达式:

#任何变量#都可以在以下位置找到:
(#[^##]+#)

内容可以通过以下内容找到:
(?)

和(##########]+#)不在(?s)中(?一个选项可能是通过交替
主动匹配“坏”序列,但不使用
(?:)
来“记住”,而您的“好”匹配最后运行并包含在捕获组中
):

(?:)|(?:)|(#[^#]+#)

有两种方法可以做到这一点-一种方法是首先使用第二个正则表达式去除标记中的所有数据,然后搜索剩余的代码。另一种方法是使用
负前瞻性
,如这里演示的()参考HTML标记中没有的文本(一个足够类似的用例),我尝试了以下方法:(#[^#+#) (?![^|[^]*
FIND (#[^##]+#) 
WHERE (#[^##]+#) NOT IN (?<=<cfqueryparam)(.*)(?=">) 
AND (#[^##]+#) NOT IN (?s)(?<=<cfif).*?(?=<\/cfif>)
(?:<cfif.*?\/cfif>)|(?:<cfqueryparam.*?>)|(#[^#]+#)