import re
regex = re.compile(r"(?<!^)((?<=[a-z])[A-Z0-9]|[A-Z](?=[a-z]))", flags=re.MULTILINE)
test_str = ("Situacao\",\n"
"PES_TIPO_PESSOA\",\n"
"CedenteCnpjCpf\",\n"
"TIT_CEDENTE_ENT_CODIGO\",\n"
"CedenteNome\",\n"
"Cnae\",\n"
"SecaoCNAEDescricao\",\n"
"NotaPdd\",\n"
"SAC_TIPO_PESSOA\",\n"
"SacadoCnpjCpf\",\n"
"SacadoNome\",\n"
"IdTituloVortx\",\n"
"TipoAtivo\",\n"
"DataEmissao\",\n"
"DataAquisicao\",\n"
"DataVencimento\",\n"
"NumeroBoleto\",\n"
"NumeroTitulo\",\n"
"CampoChave\",\n"
"ValorAquisicao\",\n"
"ValorNominal\",\n"
"ValorPresente\",\n"
"PDDNota\",\n"
"PDDVencido\",\n"
"PagamentoParcial\",\n"
"Coobricacao\",\n"
"DataGeracao\",\n"
"PDDTotal\",\n"
"CampoAdicional1\",\n"
"CampoAdicional2\",\n"
"CampoAdicional3\",\n"
"CampoAdicional4\",\n"
"CampoAdicional5,\n"
"Campo22Adicional5\n"
"camelCase")
subst = "_\\1"
result = regex.sub(subst, test_str)
if result:
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html