我想找到char $
使用lua功能,但前提是前面沒有\
char char $
。為此,我創建了模式:
([^\\]?)%$
然而,Lua 忽略了我的模式的第一部分,只找到%$
.請幫我解決我的問題。
是的,我知道 lua 有一個非常糟糕的模式解析器,但我希望我能找到$
它是否是該行的第一個字符,或者是否之前沒有\
。非常感謝您的幫忙。
答案1
你的問題很不清楚,這裡沒有涉及正規表示式(Lua模式與正規表示式完全不同)
但我認為您正在尋找類似的東西,它會列印一個包含\$
and的字串,$
然後用\$
仍然完整但所有未加引號的$
替換來列印它。
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!!!