regex - oracle中的记录过滤

标签 regex oracle regex-negation

我在一个表中有一组记录

xyz_t
abc_y
pqr_12-11-2013
psq_1
App_tq2
xyzq_12-10-2014
lpqs_14-09-2012
llyt_23-09-2011
bytx_2
prdtc

我想要输出

pqr_12-11-2013
xyzq_12-10-2014
lpqs_14-09-2012
llyt_23-09-2011

我的意思是只有那些以日期为后缀的记录。

提前致谢。

最佳答案

select s from t 
where regexp_like(s, '_[[:digit:]]{1,2}-[[:digit:]]{1,2}-[[:digit:]]{4}$');

[:digit:] - 任何数字(您也可以使用 \d)

{4} - 四次

{1,2} - 一两次

$ 字符串结尾(默认情况下第一个回车符被解释为结尾)

关于regex - oracle中的记录过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27289966/

相关文章:

ruby - 正则表达式 - 匹配括号中的所有单词

SYSDATE 和 Date From 列之间的 Oracle 时间差异

sql - 正则表达式匹配字符串和插入符号 (^) 之间的所有内容,不包括插入符号 (^)

java - 正则表达式用一个替换多个字符

java - 正则表达式匹配末尾有换行的文本

c# - 正则表达式匹配0到60

regex - 从匹配替换到行尾

java - JDeveloper 错误 : (CMD property not found in autorun. inf)

sql - 从 Oracle 游标的下一行获取数据