我想替换所有不存在的字符
在 az 范围内
在AZ范围内
空间
连字符
下划线
开幕(
结束)
我到达了这个正则表达式
[^0-9A-Za-z\-\(\)]
Run Code Online (Sandbox Code Playgroud)
当我在https://www.regex101.com/ 的字符串(Hi-There)上测试这个时,我得到结果(Hi-There)
当我在 Oracle 查询中使用相同的表达式时
SELECT regexp_replace('(Hi-There)','[^0-9A-Za-z\-\(\)]', '') FROM dual
Run Code Online (Sandbox Code Playgroud)
我只得到 (HiThere) 缺少连字符。
出了什么问题?
尝试将其放在最后:
SELECT regexp_replace('(Hi-There)','[^0-9A-Za-z\(\)\-]', '') FROM dual
Run Code Online (Sandbox Code Playgroud)
另外,正如 @DavidFaber 和 @hwnd 所说,你也不需要逃避,()所以-:
SELECT regexp_replace('(Hi-There)','[^0-9A-Za-z()-]', '') FROM dual
Run Code Online (Sandbox Code Playgroud)
会是对的。
| 归档时间: |
|
| 查看次数: |
2620 次 |
| 最近记录: |