Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于替换除最后一个和第一个非空格字符以外的所有字符的正则表达式_Regex_Replace_Hana - Fatal编程技术网

Regex 用于替换除最后一个和第一个非空格字符以外的所有字符的正则表达式

Regex 用于替换除最后一个和第一个非空格字符以外的所有字符的正则表达式,regex,replace,hana,Regex,Replace,Hana,我将电子邮件存储在char数据类型的SAP Hana表格列中。我需要用“*”字符替换所有字母和数字,第一个和最后一个非空白字符除外。我这样写正则表达式:regex_replace'abcd@efg.hij', '?!^[A-Za-z0-9]?!$,'*' 它工作正常,我收到了一封伪装的电子邮件“a***@*******j”。 但是,当电子邮件的开头和/或结尾出现一些空白时,就会出错。例如,如果电子邮件字符串为'abcd@efg.hij"结果是, “************”而我需要“a*****

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

Denis,我尝试使用Replace\u Regexp函数在SELECT语句中执行以下操作

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

它删除前导空格和尾随空格,并返回***@*******j

Try?Try,但出现无效语法错误。我试过了^\s*[A-Za-z0-9]\如果不支持可变宽度查找,则无法使用此方法。regex的味道是什么?模式有效吗?就是这样!我忘了Hana提供了修剪功能。太好了,谢谢你的建议,埃拉珀。