正则表达式替换除了最后一个和第一个非空格字符之外的所有字符

时间:2017-12-25 11:17:17

标签: regex replace hana

我的电子邮件存储在char数据类型的SAP Hana表列中。我需要用'*'char替换所有字母和数字,除了第一个和最后一个非空格字符。我写了这样的正则表达式:regex_replace('abcd@efg.hij','(?!^)[A-Za-z0-9](?!$)','*') 它工作正常,我收到蒙面电子邮件'a***@***.**j'。 但是当电子邮件的开头和/或结尾有一些空格时会出错。例如,如果电子邮件字符串是'abcd@efg.hij',结果将是 '****@***.****'我需要'a***@***.**j' 不幸的是,在regexing之前我无法修剪电子邮件。

1 个答案:

答案 0 :(得分:1)

Denis,我尝试在带有Replace_Regexp函数的SELECT语句中跟随

select
REPLACE_REGEXPR('(?!^)[\sA-Za-z0-9](?!$)' IN trim('    abcd@efg.hij   ') WITH '*')
from dummy;

删除前导和尾随空格并返回“a ***@***.** j”