当前位置: 代码迷 >> Oracle开发 >> Oracle正则匹配有关问题
  详细解决方案

Oracle正则匹配有关问题

热度:61   发布时间:2016-04-24 06:39:36.0
Oracle正则匹配问题
现有如下问题求助:
一个大字符串我要在存储过程中取到如下数据进行处理:
      <table name="asd">
<tr><td>
<table>
        <tr>
          <td><div align="center">哈哈哈</div></td>
          <td><div align="center">嗯嗯嗯</div></td>
          <td><div align="center">噢噢噢噢</div></td>
          <td><div align="center">恩恩</div></td>
          <td><div align="center">啊啊啊</div></td>
        </tr>
        <tr id="str">
          <td>asdasd</td><td>asdas</td><td>sadad</td><td>asdasd</td><td>asd</td>
        </tr>
</table>
在JAVA中可以用<table name="asd"[\d\D]*?</table>或者<table name="asd"[\s\S]*?</table>来实现,查了一些资料\s对应oracle的[[:space:]],\S对应oracle的[^[space]],但是我正则表达式在oracle中写成<table name="asd"[[[:space:]][^[:space:]]]*?</table>却无法匹配到改字符串。还有什么写法能够匹配任意字符串么?
------解决方案--------------------
引用:
现有如下问题求助:
一个大字符串我要在存储过程中取到如下数据进行处理:
      <table name="asd">
<tr><td>
<table>
        <tr>
          <td><div align="center">哈哈哈</div></td>
          <td><div align="center">嗯嗯嗯</div></td>
          <td><div align="center">噢噢噢噢</div></td>
          <td><div align="center">恩恩</div></td>
          <td><div align="center">啊啊啊</div></td>
        </tr>
        <tr id="str">
          <td>asdasd</td><td>asdas</td><td>sadad</td><td>asdasd</td><td>asd</td>
        </tr>
</table>
在JAVA中可以用<table name="asd"[\d\D]*?</table>或者<table name="asd"[\s\S]*?</table>来实现,查了一些资料\s对应oracle的[[:space:]],\S对应oracle的[^[space]],但是我正则表达式在oracle中写成<table name="asd"[[[:space:]][^[:space:]]]*?</table>却无法匹配到改字符串。还有什么写法能够匹配任意字符串么?

select c1 from table
 where c1 like '<table name="asd">%</table>'
------解决方案--------------------
regexp_like(t.str ,'<table name="asd"([[:space:]]
------解决方案--------------------
[^[:space:]])*</table>')
  相关解决方案