Oracle11g 当字符串中有\n时,如何使用REGEXP\u SUBSTR?
我有一个带“\n”且不带引号的字符串,希望了解REGEXP\u SUBSTR的语法 e、 g。 我的绳子是 “a\nnbc” 当我尝试运行命令时Oracle11g 当字符串中有\n时,如何使用REGEXP\u SUBSTR?,oracle11g,Oracle11g,我有一个带“\n”且不带引号的字符串,希望了解REGEXP\u SUBSTR的语法 e、 g。 我的绳子是 “a\nnbc” 当我尝试运行命令时 SELECT REGEXP_SUBSTR ('a\nnbc', '[^\n]+', 1, LEVEL ) AS myelement FROM DUAL
SELECT REGEXP_SUBSTR ('a\nnbc',
'[^\n]+',
1,
LEVEL
)
AS myelement
FROM DUAL
此处按级别连接
LEVEL如果字符串字面上有\n
,则换行符是两个字符,并且不能在类中对其求反,因为它将单独处理每个字符。此解决方案不正确,因为它将结果作为nnnbc给出。只需删除“\n”,并期望结果是nbc
LEVEL <= REGEXP_COUNT ('a\nnbc', '\n')+1
SELECT REGEXP_SUBSTR ('a\nnnbc',
'[^\]+',
1,level)
AS myelement
FROM DUAL
CONNECT BY LEVEL <= REGEXP_COUNT ('a\nnbc', '\n',1) AND PRIOR SYS_GUID () IS NOT NULL;