Quero criar uma regex que corresponda a todos os caracteres sem escape $
em strings que representam uma regex.
Nesse caso, um caractere não é escapado se ele contiver um número igual de barras invertidas atrás dele (cada par de barras invertidas representa o próprio caractere de barra invertida e, portanto, o próximo caractere não é escapado).
Eu criei este padrão:
(?<!\\)(\\{2})*\$
Explicação: embora isso também corresponda às barras invertidas que precedem o $
, essa é a solução mais próxima que cheguei. Isso garante um número igual de barras invertidas antes de a $
que não é precedido por outra barra invertida, resultando em um número ímpar de barras invertidas.
Meu problema é que parece que preciso de 2 grupos consecutivos não consumidores para tornar o número total de barras invertidas par, mas isso não é possível. Existe outra maneira de fazer isso?