Oracle:点的正则表达式

时间:2018-07-25 05:32:24

标签: sql regex oracle

例如,我有一个表“ example”,其中有一个列“ col1”,其字符串如下所示

some example text here x2.0.3-a abc
some other example text 1.5 abc
another example text 0.1.4 mnp
some other example text  abc
another example text mnp

我想选择那些与正则表达式匹配的行。我想要这样的正则表达式

any string.any string.any string space abc/mnpany string.any string space abc/mnp(即正则表达式)应匹配两个或三个点,每个点的前后至少应有一个字符串(字符/数字/特殊字符),然后是单个空格,然后在末尾abc/mnp。正则表达式和sql查询是什么?

2 个答案:

答案 0 :(得分:0)

检查下一个正则表达式^[^.]+?(\.[^.]+?){1,2} (abc|mnp)$

要在线尝试正则表达式,请单击here

要获取说明,请访问here

答案 1 :(得分:0)

我不确定我的问题是否正确,但是如果您要选择的列中包含any.any或any.any.any的列,则下面的正则表达式可以为您提供帮助

^.*?(\S+\.\S+).*[ ](?:abc|mnp)$

Demo here