Esta pergunta baseia-se em uma pergunta anterior que encontrei em gis.stackexchange: Como editar facilmente dados de atributos usando Expressões regulares?
Talvez alguém possa me apontar na direção certa?
Eu tenho um shapefile de vetor de linhas de contorno. Na tabela de atributos, eu já converti um campo chamado FEET, que consiste em dados inteiros contendo valores de elevação em um campo de string chamado Label. Além disso, anexei com êxito um 'ao final da string, para que, quando os dados forem rotulados, sejam lidos como pés.
A próxima coisa que estou tentando fazer é inserir uma vírgula entre os dois primeiros valores da string apenas se o comprimento da string for maior que 4 ou para que uma vírgula apareça apenas entre os milhares e centenas de dígitos no campo Label. O comprimento deve ser maior que 4, porque também estou contando o '
Meu código até agora é:
case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end
no entanto, a função regexp_replace parece não aceitar as variáveis de grupo $ 1 $ 2 no terceiro parâmetro da função.
Eu olhei http://docs.python.org/2/library/re.html como o regex campo-calculadora é pelo que eu entendo com base no uso de python de regex, mas não foram capazes de descobrir isso. Talvez o que estou tentando fazer ainda não seja possível com esta função na calculadora de campo no QGIS 1.8 no mac OSX. Ou, mais provavelmente, minha sintaxe está errada, pois sou um programador iniciante e um tanto novo para expressões regulares.