試圖在mysql中找到一種方法如何回傳與測驗字串匹配的正則運算式部分。
正則運算式:(^123[0-9] $)|(^9876[0-9] $)|(^56789012$)
測驗字串:123456
我想得到:^123[0-9] $
非常感謝。
uj5u.com熱心網友回復:
我不知道有什么命令可以做到
但你總是可以
像這樣做
SELECT '123456' REGEXP '(^123[0-9] $)|(^9876[0-9] $)|(^56789012$)'| '123456' 正則運算式 '(^123[0-9] $)|(^9876[0-9] $)|(^56789012$)' | | -------------------------------------------------- --------: | | 1 |
SELECT CASE WHEN '123456' REGEXP '^123[0-9] $' THEN '^123[0-9] $' WHEN '123456' REGEXP '^^9876[0-9' THEN '^9876[0-9' WHEN '123456' REGEXP '^56789012$' THEN '^56789012$' ELSE 'no pattern' END| 案件 當 '123456' 正則運算式 '^123[0-9] $' THEN '^123[0-9] $' 當 '123456' 正則運算式 '^^9876[0-9' THEN '^9876[0-9' 當'123456'正則運算式'^56789012$'然后'^56789012$' 別的 '沒有模式' 結束 | | :------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ---------------------------------- | | ^123[0-9] $ |
db<>在這里擺弄
uj5u.com熱心網友回復:
這是一個解決方案:
SELECT 'the 1st one' as which_regexp WHERE '123456' REGEXP '^123[0-9] $'
UNION
SELECT 'the 2nd one' as which_regexp WHERE '123456' REGEXP '^9876[0-9] $'
UNION
SELECT 'the 3rd one' as which_regexp WHERE '123456' REGEXP '^56789012$';
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/420675.html
標籤:
