Oracle正则表达式表达式排除特殊字符和捷克字符

时间:2013-04-26 20:30:48

标签: regex oracle character special-characters

由于与银行的接口,我需要从名称字段中挑选出一些不需要的字符:

这是允许的范围: 0 - 9,a - z,A - Z,/ - ? ()。 ,'+(空格) - 但不允许捷克字符

我尝试过这样的事情,在几个时期内获得不必要的点击量。和空间,但没有达到100%:

SELECT CASE
          WHEN  REGEXP_LIKE (name,
                            '^([0-9a-zA-Z]* *+(|_|\-|\.))')
          THEN
             'true'
          ELSE
             'false'
       END AS tmp, avt.*
  FROM amcbankvendtable avt

此外,我还没有删除捷克人物。我知道参数字符类==a==给出ä,但在这种情况下我想要相反,不允许ûü,而只是u。 (基本上只允许英国的alpabeth)。

所以:

  • 123456abc没关系

  • 123û不合适

  • 123#&安培;不合适(#&不允许使用的字符)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用如下表达式:

[^0-9a-zA-Z/?().,' +-]

如果匹配,则存在不允许的内容。