0
试图从此代码中获得“P1:”,但如果我将数字添加到该数字,它也会输出这些数字。如何限制它只能使用数字1-9,并且如果它是两位数字,则显示“NULL”?如何从REGEX获取一个字母和一个数字Oracle Sql查询
select REGEXP_SUBSTR('P1:EMAIL', '[P]+\d+[:]') as test from dual;
试图从此代码中获得“P1:”,但如果我将数字添加到该数字,它也会输出这些数字。如何限制它只能使用数字1-9,并且如果它是两位数字,则显示“NULL”?如何从REGEX获取一个字母和一个数字Oracle Sql查询
select REGEXP_SUBSTR('P1:EMAIL', '[P]+\d+[:]') as test from dual;
您已经包含了+
运营商,这意味着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;
太棒了!刚开始的时候,很难抓住一些东西。基本上我只需要代码中的“P- [1-4] - :”,但我担心程序可能会输出多个数字,如 'P4453:'有没有办法直接得到P,数字之后呢,那么:到底? – crashboogie