我想char $
使用 lua 功能进行查找,但前提是 之前没有\
char char $
。为此,我创建了模式:
([^\\]?)%$
但是,Lua 忽略了我的模式的第一部分,只找到了%$
。请帮我解决我的问题。
是的,我知道 lua 的模式解析器非常糟糕,但我希望我能找到$
它是行的第一个字符还是之前没有\
。非常感谢您的帮助。
答案1
您的问题很不清楚,这里没有涉及正则表达式(Lua 模式与正则表达式截然不同)
但我认为您正在寻找类似的东西,它打印一个涉及的字符串\$
,$
然后打印它,\$
仍然完整但所有未引用的$
都被替换。
z="aaa \\$ $ x=1$"
print(z)
tmp=string.gsub(z,'\\%$', 'QUOTEDOLLAR')
tmp=string.gsub(tmp,'%$', '!!!')
newz=string.gsub(tmp,'QUOTEDOLLAR', '\\$' )
print(newz)
执行此操作texlua
会产生终端输出
aaa \$ $ x=1$
aaa \$ !!! x=1!!!