Как заменить слово, которое не помещено между шаблоном, используя Oracle REGEXP, а не одно и то же слово внутри шаблона? - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь заменить слово «группа», когда оно не находится между шаблоном <a href и a>, на «group1».Ниже запрос заменяет «группу» внутри нужного шаблона.Как заменить слово, которое находится за пределами шаблона?

with t as (
    select '<a href Part of the technical Network Group www.tech.com/sites/ hh a> group' as text from dual
    union all select '<a href mean www.tech.technical Network a>' as text from dual
    union all select 'www.tech.tech///technical <a href Network Group a>' as text from dual)
select regexp_replace(text,'group','group1',1,0,'i')
from t
WHERE REGEXP_LIKE(text,'<a href.*group.*a>','i') 

Ожидаемый результат для первой строки: (слово «группа» появляется внутри и снаружи шаблона).Ожидание состоит в том, чтобы просто заменить тот, который снаружи)

<a href Part of the technical Network group www.tech.com/sites/ hh a> group1

1 Ответ

0 голосов
/ 30 сентября 2019

Я был бы упущен, если бы не указывал всем, кто читает это, однозначный пост о разборе HTML с регулярными выражениями: RegEx соответствует открытым тегам, за исключением автономных тегов XHTML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...