在我的列中,有一個字符串包含以字符'='
開頭的單詞如何提取這些單詞?我發現REGEXP_SUBSTR
但我找不到特別的正則表達式來做到這一點?我感謝任何幫助。謝謝。具有特殊字符的提取子字符串 - Oracle
編輯:
我有這樣的字符串:
"What a =lovely day!"
我想"=lovely"
在我的列中,有一個字符串包含以字符'='
開頭的單詞如何提取這些單詞?我發現REGEXP_SUBSTR
但我找不到特別的正則表達式來做到這一點?我感謝任何幫助。謝謝。具有特殊字符的提取子字符串 - Oracle
編輯:
我有這樣的字符串:
"What a =lovely day!"
我想"=lovely"
您可以使用REGEXP_SUBSTR此:
select regexp_substr(col, '=\S+')
from your_table;
=\S+
:
=
- 匹配字面=
\S+
- 匹配一個或多個非空格字符嘗試根據自己的需要
REGEXP_SUBSTR('What a =lovely day!', '=\w+')
或
REGEXP_SUBSTR('What a =lovely day!', '=\S+')
。
此外,如果你想根據特殊字符列表進行匹配,請使用類似下面的內容。
在本例中,您可以匹配=
和#
。如果你喜歡,你可以添加更多特殊字符。
此外,如果你想只是=
返回的情況下,休息詞後失蹤,然後使用\S*
。否則使用\S+
對於沒有此格式的字符串,您將獲得null
。
select regexp_substr(col1,'[=#]\S*') from
(select 'what a =lovely day' as col1 from dual union all
select 'some other #word as' from dual union all
select 'a normal string' from dual)
您是否需要提取以'='開始的單詞或以'='開頭的行? – GurV
@JSapkota我更新了問題。 – jason