Ich möchte mithilfe von Lua-Features suchen , aber nur, wenn vor char $
kein Zeichen steht . Dazu erstelle ich das Muster:\
char $
([^\\]?)%$
Lua ignoriert jedoch den ersten Teil meines Musters und findet nur %$
. Bitte helfen Sie mir, mein Problem zu lösen.
Ja, ich weiß, dass Lua einen sehr schlechten Musterparser hat, aber ich hoffe, ich kann herausfinden, $
ob es sich entweder um das erste Zeichen der Zeile handelt oder ob es \
vorher noch nicht vorhanden war. Vielen Dank für die Hilfe.
Antwort1
Ihre Frage ist sehr unklar und es handelt sich hier nicht um reguläre Ausdrücke (Lua-Muster unterscheiden sich deutlich von regulären Ausdrücken).
Aber ich glaube, Sie suchen nach etwas wie diesem, das eine Zeichenfolge mit und druckt \$
und $
diese dann mit dem \$
noch intakten, aber vollständig durch Anführungszeichen $
ersetzten Zeichen druckt.
z="aaa \\$ $ x=1$"
print(z)
tmp=string.gsub(z,'\\%$', 'QUOTEDOLLAR')
tmp=string.gsub(tmp,'%$', '!!!')
newz=string.gsub(tmp,'QUOTEDOLLAR', '\\$' )
print(newz)
die Ausführung mit texlua
erzeugt die Terminalausgabe
aaa \$ $ x=1$
aaa \$ !!! x=1!!!