如何使用 Oracle REGEXP 替换未放置在模式之间的单词和模式内的不同单词?
How to replace the word which is not placed between a pattern using Oracle REGEXP and not the same word inside the pattern?
我正在尝试将不在模式 <a href
和 a>
之间的单词 "group" 替换为 "group1" 。下面的查询替换了所需模式中的 "group"。如何替换模式外的单词?
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')
第一行的预期输出是(单词 "group" 出现在模式的内外)。期望只是替换外面的那个)
<a href Part of the technical Network group www.tech.com/sites/ hh a> group1
如果我没有将阅读本文的每个人都指向关于使用正则表达式解析 HTML 的权威 post,那我就是失职了:
RegEx match open tags except XHTML self-contained tags
我正在尝试将不在模式 <a href
和 a>
之间的单词 "group" 替换为 "group1" 。下面的查询替换了所需模式中的 "group"。如何替换模式外的单词?
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')
第一行的预期输出是(单词 "group" 出现在模式的内外)。期望只是替换外面的那个)
<a href Part of the technical Network group www.tech.com/sites/ hh a> group1
如果我没有将阅读本文的每个人都指向关于使用正则表达式解析 HTML 的权威 post,那我就是失职了: RegEx match open tags except XHTML self-contained tags