Приветствую, друзья.
Не могу придумать, как с помощью регулярки корректно вычленять блоковый комментарий из текста.
Если добавить квантификатор ленивости, как в примере ниже, то получится выделять просто блоковые комментарии.
А если я хочу выделить блоковый комментарий, который относится именно к процедуре, тут тупик.
Тут :
with t as (
select '
package body test_comments is
/*first block comment*/
/*second block comment*/
procedure testik_pestik is
begin
' text
,'/\*(.*?)\*/\s+procedure\s+([^[:space:](]+)' pattern
from dual
)
select regexp_substr(text,pattern,1,1,'inm')
from t
результат такой:
оракл |
---|
/*first block comment*/
/*second block comment*/ procedure testik_pestik
|
а надо бы, как вы прекрасно понимаете,
оракл |
---|
/*second block comment*/ procedure testik_pestik
|
Возможно ли это с помощью регулярок в 11-12 версиях СУБД?