Я хочу найти с помощью lua-функций, но только если перед char 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!!!