我有一个名为keys的列,其格式为以下格式:
QWERT! B1 12345! B3 abcde! B4 fgh14777
STAT! B3 3456! C0 224466! B2 bbmm
我试图使用regexp_substr只显示以B3开头并以下一个感叹号前的字符结尾的文字(!)
所以我想要的结果就是这样:
B3 abcde
B3 3456
B3可能位于字符串中的任何位置,文本的长度也可能不同。并非每一行都包含B3。
任何帮助将不胜感激!
答案 0 :(得分:3)
这是一个非常简单的正则表达式:
select regexp_substr('qwert! B1 12345! B3 abcde! B4 fgh14777', 'B3[^!]+', 1, 1)
from dual