Quero encontrar char $
o uso de recursos lua, mas apenas se não houver nenhum \
char antes char $
. Para isso eu crio o padrão:
([^\\]?)%$
No entanto, Lua ignora a primeira parte do meu padrão e encontra apenas %$
. Por favor me ajude a resolver meu problema.
Sim, eu sei que lua tem um analisador de padrões muito ruim, mas espero poder descobrir $
se é o primeiro caractere da linha ou se não tem \
antes. Muito obrigado pela ajuda.
Responder1
Sua pergunta não é muito clara e não há expressões regulares envolvidas aqui (os padrões Lua são bastante distintos dos regex)
Mas acho que você está procurando algo assim, que imprime uma string envolvendo \$
e $
depois imprime com os \$
ainda intactos, mas todos sem aspas $
substituídos.
z="aaa \\$ $ x=1$"
print(z)
tmp=string.gsub(z,'\\%$', 'QUOTEDOLLAR')
tmp=string.gsub(tmp,'%$', '!!!')
newz=string.gsub(tmp,'QUOTEDOLLAR', '\\$' )
print(newz)
executar isso com texlua
produz a saída do terminal
aaa \$ $ x=1$
aaa \$ !!! x=1!!!