我想替换所有不是
的字符在范围a-z
中在A-Z范围内
空间
连字符
下划线
开场(
结束)
我到达了这个RegEx
[^0-9A-Za-z\-\(\)]
当我在https://www.regex101.com/的字符串(Hi-There)上测试时,我得到了结果(Hi-There)
当我使用
在Oracle Query中使用相同的表达式时SELECT regexp_replace('(Hi-There)','[^0-9A-Za-z\-\(\)]', '') FROM dual
我只得到(HiThere)丢失的连字符。
出了什么问题?
答案 0 :(得分:3)
尝试将其放在最后:
SELECT regexp_replace('(Hi-There)','[^0-9A-Za-z\(\)\-]', '') FROM dual
另外,正如@DavidFaber和@hwnd所说,你不需要()
-
{em}
SELECT regexp_replace('(Hi-There)','[^0-9A-Za-z()-]', '') FROM dual
是对的。