正则表达式,用于删除所有空格和数字

时间:2018-08-01 14:31:11

标签: sql regex regexp-replace

我正在尝试在sql语句中使用正则表达式来删除字符串“ text”(看起来像是

)中的所有空格和数字
1. 000000123456   (No space)
2.  00000 123456 (spaces in the beginning and end of string)
3. 90330000 45  (2 spaces at the end)

到目前为止,我已经能够提出以下解决方案:

select regexp_replace('text','\\s(^[0-9]*)\\s','\\1') 

select regexp_replace('text','[[:blank:]]+[^[0-9]*][[:blank:]]+','\\1') 

我得到的结果是:

1. 000000123456
2.  00000 123456 
3. 90330000 45  

我照原样得到了文本。如果我尝试使用

删除数字
regexp_replace('text','^[0-9]*','\\1'), 

它正常工作-所有数字都被删除,并且值导致为“(空)”。但是带空格的文本不会删除数字或空格。

我在这里做什么错了?

1 个答案:

答案 0 :(得分:-1)

尝试使用同时包含数字和空格的字符类:

regexp_replace('text', '[0-9\\s]+', '')

这应该删除所有数字和空格。但是,由于您没有向我们显示上下文中的数字,因此您还不确定要做什么。