正则表达式获取所有前缀+单词+后缀但没有确切的单词

时间:2018-04-19 04:07:25

标签: regex oracle plsql

以下示例

表a

id    desc  
0    qqqqqwertyyyy  
1    qwerty  
2    bbbbqwerty     
3    a qwerty

期望的输出

0 qqqqqwertyyyy  
1 111qwerty

2 个答案:

答案 0 :(得分:1)

你可以将正则表达式分解为:

\S+qwerty\b|\bqwerty\S+|\S+qwerty\S+

只有在嵌入其他单词时才会匹配qwerty

答案 1 :(得分:1)

匹配前缀& postfix,试试这个:

SELECT * FROM tablename WHERE    
    REGEXP_LIKE (fieldname, '[^[:space:]]+qwerty')
    OR  REGEXP_LIKE (fieldname, 'qwerty[^[:space:]]+');