-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/12/2013 05:48 PM, Osvaldo Kussama wrote: > Em 12/10/13, Guimarães Faria Corcete DUTRA, Leandro<l...@dutras.org> > escreveu: >> 2013/10/12 Eloi Ribeiro <e...@openmailbox.org>: >>> >>> Gostaria de separar os caracteres minúsculos dos maiúsculos >> >> Expressões regulares? > > > Na linha proposta pelo Dutra: > > SELECT regexp_replace(foo, '(^[a-z]*)([A-Z]*)([a-z]*)', > E'\\1,\\2,\\3', 'g') FROM (VALUES ('lKv'), ('uMIsn'), ('CASi'), > ('K'), ('CAS')) AS bar(foo); regexp_replace ---------------- l,K,v > u,MI,sn ,CAS,i ,K, ,CAS, (5 rows) > > Osvaldo
Até agora só tinha usado o LIKE / ILIKE com %. Fui ver o que era isso de 'Expressões regulares' e quase termino com dores de cabeça. Muito duro. Tinha até chegado aqui, depois de algum tempo de testes: SELECT substring('lbcCASsvn', '^([a-z]{1,5})'); -- "lbc" SELECT substring('lbcCASsvn', 'Y*([A-Z]{1,5})'); -- "CAS" SELECT substring('lbcCASsvn', 'A*([a-z]{1,5})$'); -- "svn" Mas a solução do Osvaldo é muito mais elegante. Dutra muito obrigado pela acertada dica. E Osvaldo pela precisa solução. Cumprimentos, Eloi -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJSWYqeAAoJEP9qulIE6g+y1bMH/jv6NxggjUMcB2DUbSWt3l1Q FbIEErwV0ofmlsHqcpx4ukGO62hyWZ+8xVaeceAnXXfnms5orCqnNWT2oahRaN+n 7Zcqt0sZzgzpU+ghkBRLm8LP4EhNEp+agE1/l1H7NukdhRGFO/peao0rkhXJ9CIK b4FZmChGI/+V0aa1Al5pKN/q0eb2xHa5i4PTXvugO6gxws0iUEdWFn1Ex4hjFeEt gMxd8eEMg0EAu2smWCFBU08FdUPkTqHVldoaQydAJHAsgJSSyRptPvEaIRwkpvwV Ox0lrirfQnd71r/KgcOK0rUAjo6gCsDmvdUXpmTXl29FtdUszNOi5yz4SUFi4QE= =o7c9 -----END PGP SIGNATURE----- _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral