Regex Oracle正则表达式对特殊字符和捷克字符进行排序
由于与银行的接口,我需要从名称字段中整理出一些不需要的字符: 这是允许的范围: 0-9,a-z,a-z,/-?( ) . , ' + (空格)-但不允许使用捷克字符 我试过类似的方法,在好几节课上得到了不必要的点击。还有空间,但无法100%到达:Regex Oracle正则表达式对特殊字符和捷克字符进行排序,regex,oracle,character,special-characters,Regex,Oracle,Character,Special Characters,由于与银行的接口,我需要从名称字段中整理出一些不需要的字符: 这是允许的范围: 0-9,a-z,a-z,/-?( ) . , ' + (空格)-但不允许使用捷克字符 我试过类似的方法,在好几节课上得到了不必要的点击。还有空间,但无法100%到达: SELECT CASE WHEN REGEXP_LIKE (name, '^([0-9a-zA-Z]* *+(|_|\-|\.))') THEN
SELECT CASE
WHEN REGEXP_LIKE (name,
'^([0-9a-zA-Z]* *+(|_|\-|\.))')
THEN
'true'
ELSE
'false'
END AS tmp, avt.*
FROM amcbankvendtable avt
此外,我还没有删除捷克字符。我知道参数字符类==a==
给出ä
,但在本例中我想要相反的结果,不允许ä
,只允许u
。(基本上只允许使用英语alpabeth)
因此:
- 公元前123456年没问题
- 123戥不好
- 123#&不正确(#&不允许使用字符)
有什么想法吗?您可以使用如下表达式:
[^0-9a-zA-Z/?().,' +-]
如果匹配,则存在不允许的情况。假情报作为假保护作为真Moraviapress a.s.真AB设施a.s.接近。当REGEXP_LIKE(name,[^0-9a-zA-Z/?(),+-])为什么在最后两次出现时变为真,是因为两个句点:.@Trond-因为Qtax忘记在括号内添加空格字符。但是撇号,如何使其工作:[^0-9a-zA-Z/?(),“+-]”,我尝试引用两次并转义,但是不要点击它。