2016-12-01 50 views
0

我想在SQL分割以下字符串:分割字符串測試=「毒鼠強」的正則表達式

select regexp_substr('version="100104" name="Contracts Ref." desc="" type="picker" bp_name="Contracts"','[^" ]+', 1, level) 
from dual 
connect by regexp_substr('version="100104" name="Contracts Ref." desc="" type="picker" bp_name="Contracts"','[^" ]+', 1, level) is not null; 

,但它是由空間拆分。 我需要一個回報,如 version="100104 name="Contracts Ref." 有人可以指導我嗎?

回答

0

我相信你需要這樣的事:

select regexp_substr('version="100104" name="Contracts Ref." desc="" type="picker" bp_name="Contracts"','(\w+=\"[^\"]*\")', 1, level) 
from dual 
connect by regexp_substr('version="100104" name="Contracts Ref." desc="" type="picker" bp_name="Contracts"','(\w+=\"[^\"]*\")', 1, level) is not null; 

在新的正則表達式模式(\w+=\"[^\"]*\") -

\w+=\"查找1個或多個字母或數字的,其次=」

[^\"]發現第一個報價後的所有內容不是報價本身

\"最後我們得到最後一個報價。

+0

謝謝你,這正是我想要達到的,非常感謝你的解釋 –