oracle - SQL - Update String in Colum with regex -
using sql, trying update substring in column regexp.
that's goal :
- i have html content in column : example : - <a href="http://blabla.fr/blibli">link1</a>
or other content multiple links:
  <p>blablabla</p>   <a href="http://blabla.fr/blibli">link1</a>   <a href="http://blabla.fr/">link2</a>   <a href="http://blabla.fr/test">link3 </a> (this example represente entire string, not many result of select ) - want remove 'http://' in urls not contains 'blibli'
so did query
 update my_table set my_col = replace(my_col,'http://','') not regexp_like(my_col,'http://^((?blibli).)*$') but work if column contains @ least 1 link first example. if column contains many link, update nothing due conditions. (maybe doing many step? ) tried have regexp_substr think can't achieve too. desired result second example :
<p>blablabla</p> <a href="http://blabla.fr/blibli">link1</a> <a href="blabla.fr/">link2</a> <a href="blabla.fr/test">link3 </a> thanks advice can give me
similar trung's approach, capturing both (either) matched group:
update my_table set my_col = regexp_replace(my_col,   'href="(http://[^"]*blibli[^"]*)"|href="http://([^"]*)"', 'href="\1\2"') optionally where clause avoid updating rows don't have href, say.
quick demo of how sample values (supplied in cte) translated:
with my_table (id, my_col) (   select 1, '<a href="http://blabla.fr/blibli">link1</a>' dual   union select 2, '<a href="http://blabla.fr/blibli/abc">link1</a>' dual   union select 3, '<a href="http://blabla.fr/xbliblix">link1</a>' dual   union select 4, '<a href="http://blabla.fr/test">link1</a>' dual   union select 5, '<p>blablabla</p> <a href="http://blabla.fr/blibli">link1</a> <a href="http://blabla.fr/">link2</a> <a href="http://blabla.fr/test">link3 </a>' dual ) select id, my_col, regexp_replace(my_col,     'href="(http://[^"]*blibli[^"]*)"|href="http://([^"]*)"',     'href="\1\2"') result my_table;          id my_col                                           result                                           ---------- ------------------------------------------------ ------------------------------------------------          1 <a href="http://blabla.fr/blibli">link1</a>      <a href="http://blabla.fr/blibli">link1</a>               2 <a href="http://blabla.fr/blibli/abc">link1</a>  <a href="http://blabla.fr/blibli/abc">link1</a>           3 <a href="http://blabla.fr/xbliblix">link1</a>    <a href="http://blabla.fr/xbliblix">link1</a>             4 <a href="http://blabla.fr/test">link1</a>        <a href="blabla.fr/test">link1</a>                        5 <p>blablabla</p>                                 <p>blablabla</p>                                            <a href="http://blabla.fr/blibli">link1</a>      <a href="http://blabla.fr/blibli">link1</a>                 <a href="http://blabla.fr/">link2</a>            <a href="blabla.fr/">link2</a>                              <a href="http://blabla.fr/test">link3 </a>       <a href="blabla.fr/test">link3 </a>              
Comments
Post a Comment