如何使用正则表达式选择字母数字字符

时间:2015-01-10 02:46:38

标签: sql regex oracle

我对oracle中的regexp_substr相当新。我想从下面的字符串中提取字母数字字符。我使用了以下查询,但它似乎没有按预期工作。

select 
    regexp_substr('Save up to 10% on National Brands and 20% on Quill Brand Laser Toner','[[:alnum:]]+') string 
from dual;

我希望输出看起来像这样

  

在National Brands上节省10个,在Quill Brand激光碳粉上节省20个

  

Saveupto10onNationalBrandsand20onQuillBrandLaserToner

提前致谢。 :)

1 个答案:

答案 0 :(得分:3)

我认为你正在寻找regexp_replace

select 
    regexp_replace('Save up to 10% on National Brands and 20% on Quill Brand Laser Toner',
                 '[^[:alnum:]]', '') string from dual;

SQL Fiddle