Oracle 12c REGEXP_REPLACE从字符串中提取单词

时间:2019-05-09 04:02:27

标签: oracle


我需要正则表达式帮助
可以说我有一个字符串1.2.P Permission Level - ${Permission_manager_approval}

我有一个常规的Expresion查询来解析字符串
SELECT REGEXP_REPLACE(:str,'(.+)\s[\$|(?:.\s\$)].*','\1')FROM DUAL; 通过'\1'获得1.2.P Permission Level的答案,但是当我尝试 '\2'我得到了空 我对此查询的预期输出是'Manager_approval',需要您的帮助

谢谢

1 个答案:

答案 0 :(得分:1)

我希望您尝试从提供的字符串中提取一个子字符串。您可以使用 $curlSession = curl_init(); $api_url = $this->getConfig()['organization']['api_url']['full_emp_all']; // var_dump($api_url);die(); curl_setopt($curlSession, CURLOPT_URL, $api_url); curl_setopt($curlSession, CURLOPT_POSTFIELDS, 'data={"start":'.$post['start'].', "length": '.$post['length'].'}'); curl_setopt($curlSession, CURLOPT_BINARYTRANSFER, true); curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, true); curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, false); $jsonData = curl_exec($curlSession); var_dump($jsonData);die(); curl_close($curlSession); 函数来实现相同目的。

REGEXP_SUBSTR

您还可以通过以下方式获得{/ {1}}的o / p

SELECT REGEXP_SUBSTR (
             '1.2.P Permission Level - ${Permission_manager_approval}',
             'manager_([[:alnum:]]+\.?){3,4}/?') FROM DUAL;

o/p- manager_approval