【发布时间】:2018-08-23 17:58:43
【问题描述】:
我一直在研究并尝试在 Oracle SQL 中使用正则表达式来选择字符串中的子字符串。我只想选择“UT”、“T1”或“T2”值,我想选择字符串中最后出现的任何一个值。
“INPUT”列显示我的示例数据,“TARGET”列显示我想要的值,“OUTPUT”显示我使用当前正则表达式语句得到的值
(SELECT regexp_substr(INPUT, '_(UT|T[A-Z]*[1-2]*)', 1, 1, '', 1) FROM table)
(请注意,我已尝试在上面的语句中将起始索引位置更改为 -1,但不支持)
谢谢
输入
- XXs5_ABC_94_T2_99
- ABs9_AXY_09_UT
- LPs3_SHT9_01_T1_90
- OOs7_POT_0_UT_T1_89
- IPs0_XYS_18_UT_T1_19
- VGs5_POT7_01_T1_15_T2_45
目标
- T2
- UT
- T1
- T1
- T1
- T2
输出
- T2
- UT
- T1
- UT
- UT
- T1
【问题讨论】: