忽略 Lua 模式中的 [^\\] 部分

忽略 Lua 模式中的 [^\\] 部分

我想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!!!

相关内容