Phoenix Criminal Lawyer

Regex no Sublime Text

Pessoal, um recurso muito bacana que encontrei no Sublime Text 2 é a possibilidade de utilizar regex para fazer replace. Para saber mais sobre regex acesse: http://docs.oracle.com/javase/tutorial/essential/regex/.

Mas antes de começar, quero agradecer ao Caio Moraes, um companheiro de trabalho que participou diretamente nesse post.

Então vamos ao que realmente interessa. Me deparei com a seguinte situação: eu tinha um insert para efetuar em base no qual constavam diversos valores, dentre eles, valores tipo number(10,2). Porém, o insert que recebi era algo como apresentado abaixo:

INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Bruno','Simonsen','0,5');
INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Pedro','Votuporanga','20,15');
INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Joao','Rio de Janeiro','220,5');
INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Maria','Bahia','0,9');

Contudo, era preciso trocar a vírgula (,) do campo valor para ponto (.). Para fazer isso, abra seu script no Sublime, vá em Find > Replace ou se gosta de um atalho assim como eu :D, digite ctrl+H.

Na rodapé do Sublime digite o regex conforme apresentado na imagem abaixo:

Clique em Replace All o resultado deverá ser o seguinte:

INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Bruno','Simonsen','0.5');
INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Pedro','Votuporanga','20.15');
INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Joao','Rio de Janeiro','220.5');
INSERT INTO TESTE (NOME, CIDADE, VALOR) VALUES ('Maria','Bahia','0.9');

Como pode ser notado, foi efetuado o replace das vírgulas somente no campo desejado, sem peder
o valor de seu respectivos componentes.
Vale lembrar que você pode digitar qualquer condição válida para regex que o sublime irá efetuar 
a busca e se for o caso, o replace conforme apresentado no exemplo anterior.
Testebot