试图获得" P1:"从这个代码,但如果我添加数字,它也将输出这些。如何将其限制为仅取数字1-9并使其显示" NULL"如果它是两位数?
select REGEXP_SUBSTR('P1:EMAIL', '[P]+\d+[:]') as test from dual;
答案 0 :(得分:0)
您已加入+
运算符,即match one or more of the character or class。如果你想匹配一个,那么你不想要那个。您也不需要方括号:
select REGEXP_SUBSTR('P1:EMAIL', 'P\d:') as test from dual;
您可能还想将模式锚定到字符串的开头,但这不清楚;如果是这样的话:
select REGEXP_SUBSTR('P1:EMAIL', '^P\d:') as test from dual;