And*_*ndy 3 regex sql oracle plsql
我正在寻找一个能够以任何顺序匹配令牌的Oracle正则表达式.
例如,说我正在寻找"一二".
我希望它能同时匹配,"一个标记二","另外一个"
令牌的数量可能会大于2,因此生成正则表达式的排列将是一个短暂的.
有没有比这更简单的方法来做到这一点
'(ONE.*TWO)|(TWO.*ONE)'
i.e
select *
from some_table t
where regexp_like(t.NAME_KEY, '(ONE.*TWO)|(TWO.*ONE)')
Run Code Online (Sandbox Code Playgroud)
这是使用全文搜索(FTS)功能的替代查询:
WHERE CONTAINS(t.name_key, 'ONE & TWO') > 0
Run Code Online (Sandbox Code Playgroud)
有关: