需要帮助显示字符'$'和字符串'Request'
之间的文本如果我们有这个字符串
blah blah blah $ 60 blahblah blah请求
我想打印出来
60美元blahblah blah我试过
select '$' || REGEXP_SUBSTR(notes,'([^\$]).*?(?=Request)')
这什么都不返回。抱歉正则表达不是我的强项
答案 0 :(得分:1)
Oracle不支持预测。
只需匹配您想要的字符串并将要提取的部分包装在捕获组中并返回:
Oracle 11g R2架构设置:
CREATE TABLE table_name ( notes ) AS
SELECT 'blah blah blah $60 blahblah blah Request' FROM DUAL;
查询1 :
SELECT REGEXP_SUBSTR(
notes, -- input
'(\$.*?)Request', -- pattern
1, -- start at 1st character
1, -- find 1st occurrence
NULL, -- flags
1 -- capture group to return
) AS request
FROM table_name
<强> Results 强>:
| REQUEST |
|--------------------|
| $60 blahblah blah |