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