我的电子邮件存储在char数据类型的SAP Hana表列中。我需要用'*'char替换所有字母和数字,除了第一个和最后一个非空格字符。我写了这样的正则表达式:regex_replace('abcd@efg.hij','(?!^)[A-Za-z0-9](?!$)','*') 它工作正常,我收到蒙面电子邮件'a***@***.**j'。 但是当电子邮件的开头和/或结尾有一些空格时会出错。例如,如果电子邮件字符串是'abcd@efg.hij',结果将是 '****@***.****'我需要'a***@***.**j' 不幸的是,在regexing之前我无法修剪电子邮件。
答案 0 :(得分:1)
Denis,我尝试在带有Replace_Regexp函数的SELECT语句中跟随
select
REPLACE_REGEXPR('(?!^)[\sA-Za-z0-9](?!$)' IN trim(' abcd@efg.hij ') WITH '*')
from dummy;
删除前导和尾随空格并返回“a ***@***.** j”