在PostGreSQL中,regexp_的反向引用是否应该替换CASE语句中的work?
示例(始终选择ELSE): 有没有办法让这一切顺利进行?不,不应该在PostGreSQL中,regexp_的反向引用是否应该替换CASE语句中的work?,regex,postgresql,switch-statement,Regex,Postgresql,Switch Statement,示例(始终选择ELSE): 有没有办法让这一切顺利进行?不,不应该 我将使用regexp\u match对C之前和D之后的内容进行分组,然后使用大小写和连接从匹配的部分构造结果。WHEN中的“\1”似乎是一个文本,而不是反向引用,但then中的结果可以包含反向引用。我正在使用PostGres 9.4。 SELECT regexp_replace('ABCDEFG','(C)(D)', CASE WHEN '\1' = 'C' THEN '+\2\1+' ELSE '-\1\2-' END); *
我将使用
regexp\u match
对C之前和D之后的内容进行分组,然后使用大小写和连接从匹配的部分构造结果。WHEN中的“\1”似乎是一个文本,而不是反向引用,但then中的结果可以包含反向引用。我正在使用PostGres 9.4。
SELECT regexp_replace('ABCDEFG','(C)(D)', CASE WHEN '\1' = 'C' THEN '+\2\1+' ELSE '-\1\2-' END);
**returns =>** AB-CD-EFG
SELECT regexp_replace('ABCDEFG','(C)(D)', CASE '\1' WHEN 'C' THEN '+\2\1+' ELSE '-\1\2-' END);
**returns =>** AB-CD-EFG