![Luaパターンの[^\\]の部分を無視する](https://rvso.com/image/400274/Lua%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AE%5B%5E%5C%5C%5D%E3%81%AE%E9%83%A8%E5%88%86%E3%82%92%E7%84%A1%E8%A6%96%E3%81%99%E3%82%8B.png)
lua 機能を使用して検索したいのですが、前に charchar $
がない場合のみです。このために、次のパターンを作成します。\
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!!!