【发布时间】:2012-03-14 00:40:55
【问题描述】:
我需要从 VARCHAR2 列中的数据中提取文本值。示例:
EDKES^Visit: ^PRIMARY INSURANCE COMMENTS: ^SECONDARY INSURANCE COMMENTS: ^TERTIARY INSURANCE COMMENTS: ^NO PRIMARY INSURANCE^NONE^NONE^NONE^NONE^NONE^NONE^NONE^NONE^NONE^NO SECONDARY INSURANCE^NONE^NONE^NONE^NONE^NONE^NONE^NONE^NONE^NONE^NO TERTIARY INS*
我需要获取第 6 次出现“^”的文本(不包括“^”)。在本例中,文本为NO PRIMARY INSURANCE。
([\w\s\:\*]+(\^?)) 大多有效,但不排除 '^'。
当我尝试使用此表达式 REGEXP_SUBSTR(VARCHAR_COL, '([\w\s\:\*]+(\^?))', 1, 6) 时,我得到一个字符 ('s'),而不是预期的匹配 NO PRIMARY INSURANCE^。
我错过了什么?
【问题讨论】: