User defined functions js replace函数在Snowflake UDF中不起作用(但在js previewer中工作良好)
我正在尝试创建雪花UDF以删除数字字符串中的所有非数字,如下所示:User defined functions js replace函数在Snowflake UDF中不起作用(但在js previewer中工作良好),user-defined-functions,snowflake-cloud-data-platform,User Defined Functions,Snowflake Cloud Data Platform,我正在尝试创建雪花UDF以删除数字字符串中的所有非数字,如下所示: create or replace function fnValidAusMobile(STRIN string) returns string language javascript strict as ' var strIn = STRIN.replace(/\D/g,"") return strIn ' ; 但是,当我测试它时,我可以看到正则表达式不起作用,因为下
create or replace function fnValidAusMobile(STRIN string)
returns string
language javascript
strict
as
'
var strIn = STRIN.replace(/\D/g,"")
return strIn
'
;
但是,当我测试它时,我可以看到正则表达式不起作用,因为下面返回的是:“+61 401 111-111”
SELECT fnValidAusMobile('+61 401 111-111')
奇怪的是,当我使用js预览器时,正则表达式工作得很好,所以我很困惑
有什么线索吗?在雪花UDF中使用正则表达式时,是否有不同的规则/语法
TIA.您能用双斜杠编写regexp吗
create or replace function fnValidAusMobile(STRIN string)
returns string
language javascript
strict
as
'
var strIn = STRIN.replace(/\\D/g,"")
return strIn
'
;
你能用双斜杠写regexp吗
create or replace function fnValidAusMobile(STRIN string)
returns string
language javascript
strict
as
'
var strIn = STRIN.replace(/\\D/g,"")
return strIn
'
;
问题在于逃跑。如果您将“单引号”更改为“$$”双美元符号,它应该可以正常工作
create or replace function fnValidAusMobile(STRIN string)
returns string
language javascript
strict
as
$$
var strIn = STRIN.replace(/\D/g,"")
return strIn
$$
;
问题在于逃跑。如果您将“单引号”更改为“$$”双美元符号,它应该可以正常工作
create or replace function fnValidAusMobile(STRIN string)
returns string
language javascript
strict
as
$$
var strIn = STRIN.replace(/\D/g,"")
return strIn
$$
;
谢谢,$$成功了-非常感谢!考虑到$$适用于其中的所有内容,而不是需要对每个正则表达式进行双斜杠,我认为这种方法是最简单的,对吗?我想是的。谢谢,$$成功了-非常感谢!我认为这种方法最简单,因为$$适用于其中的所有内容,而不是需要对每个正则表达式进行双斜杠。我想是的。非常感谢,这也很有效!干杯。同一个问题有两种不同的解决方案,酷:-非常感谢,这也有效!干杯。同一个问题有两种不同的解决方案,酷:-