您好我可以知道以下查询的含义是什么?
it
答案 0 :(得分:0)
在解释函数函数调用的作用方面: 这是一个函数调用,用正则表达式(第二个参数)分析输入字符串'number',并替换字符串中与特定字符串匹配的任何部分。至于括号后的名称,我不确定,但函数is here
的文档很抱歉在这里的答案中写了一个问题,但我还没有回复评论(不够代表)
这个正则表达式有用吗?除非sql使用不同的语法,否则这似乎是一个非功能正则表达式。有一些危险信号,例如:
经过一些小调整后,这个正则表达式是有效的语法:
^'' ''\-\/0-9:-@A-Z''[''-
az { - 〜]`,但与我能想到的任何内容都不匹配,重要的是要知道正在检查什么字符串/该程序的上下文是什么,以便识别正则表达式可能正在尝试什么做
答案 1 :(得分:0)
似乎它意味着用number
替换列或变量xy
中的所有ASCII控制字符。
[]
包含一类字符。该类中的任何字符都匹配。 [^]
否定了这一点,因此所有字符都匹配,而不是在类中。
-
是一个范围运算符,例如a-z
表示从a
到z
的所有字符,例如abc...xyz
。
'
中包含的字符之类的接缝应该被转义(第二个'
是为了逃避字符串本身中的'
。)至少这会有所帮助。 (但是对于没有找到具有regexp_replace()
函数的DBMS(Postgres,Oracle,DB2,MariaDB,MySQL),我在文档中发现了一些表明这种转义机制的东西。它们都使用{{1}但是,也许我错过了什么?不幸的是,你没有标记你实际使用的DBMS!)
现在,如果您使用ASCII表,您将看到表达式中的范围构成从空格到\
,/
的组中的所有可打印字符(将空间计为可打印)到0
,9
到:
等等。实际上,将其表示为@
,空格为'' ''-~
可能会更短。
鉴于否定,所有这些都不匹配。剩下的是从~
到NUL
和US
。这些匹配并逐个被DEL
替换。