0
我有這組數據中的PostgreSQL:如何從子字符串與正則表達式匹配中修剪結果?
en_MY_V2_CID_MY_SEM_1_1_0_0
en_MY_V2_CID_MY_SEM_2_101_1703_0
en_MY_V2_CID_MY_SEM_2_101_1724_0
en_MY_CID_MY_DIS_1_100_1705_0068
en_MY_CID_MY_DIS_1_100_1705_0068
我想提取喜歡這些子串:
en_MY_V2_CID_MY_SEM_1
en_MY_V2_CID_MY_SEM_2
en_MY_V2_CID_MY_SEM_2
en_MY_CID_MY_DIS_1
en_MY_CID_MY_DIS_1
問題是,左側的結構是不恆定的,所以我不能使用正則表達式來掌握它們。相反,右側結構是不變,格式爲_numbers_numbers_numbers_numbers
。所以我嘗試做使用此查詢在PostgreSQL中:
select substring(name from '_\d+_\d+_\d+$') from logs;
並獲得:
1_0_0
101_1703_0
101_1724_0
100_1705_0068
1705_0068
所以現在的問題是,我怎麼否定,或修剪先前子,所以我會得到我的結果?
或簡單一些:'選擇REGEXP_REPLACE(姓名,E '_ \\ d + _ \\ d + _ \\ d + $', '')從日誌;' – bart 2011-04-13 12:29:25
兩個解決方案的作品,感謝一羣傢伙! – Khairul 2011-04-14 07:41:09