我想通过使用regexp解析两个字符串之间的字符串

时间:2013-08-23 09:51:14

标签: regex oracle oracle11g

我想解析 - 之间的值。但是对于像第一个网址包含的一些数据 - 所以在这种情况下我只需要获得差距,而下一个我可以通过使用**camry**成功获得*(site_data,'[^-]+',1,2)*。但我也想处理这个差距。

U=Google--undefined|http://www.google.com/urlsa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=2&ved=0CFMQFjAB&url=http://www.toyota.com/tundra/features.html&ei=-zwQUvOyGIXu2QWC7oGgBg&usg=AFQjCNFQKGcr2dbDeC-0zagtYdKFEfXXzQ&bvm=bv.50768961,d.aWc

U=Bing-camry-undefined|http://www.bing.com/searchq=camry&pc=MOZI&form=MOZSBR

请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以使用连字符提取字符串,然后修剪连字符。

trim('-' from regexp_substr(site_data,'-[^-]*-'))

或者,您也可以使用regexp_replace函数。

regexp_replace(site_data,'(-([^-]*)-)|(.)','\2')