我有一個在Lua我的正則表達式不工作的麻煩。我已經在其他環境中測試過它,比如我的文本編輯器和一些在線正則表達式工具,它似乎在那裏工作得很好。正則表達式的作品隨處可見,但在Lua
正則表達式的作品我怎麼想,在其他環境:
RAY\.decrypt\s*\(([\"\'].+?(?=[\"\']).+?(?=[\)]))\s*\)
是正則表達式我試圖在Lua使用(只需\ S的同%替換成')
RAY%.decrypt%s*%(([\"\'].+?(?=[\"\']).+?(?=[%)]))%s*%)
我想要匹配的示例文本(我想捕捉在括號中的內容)
RAY.decrypt ("\x02\x02\x02\x02\x02\x02\x02\x02")
RAY.decrypt ("\xd6E\xd6E\xd6E\xd6E\xd6E")
RAY.decrypt("\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e")
其他工具米抓住文本並捕捉我想要捕捉的東西,完美。但我正在努力讓Lua做到這一點,因爲它與任何東西都不匹配。
local s = [[RAY.decrypt ("\x02\x02\x02\x02\x02\x02\x02\x02")
RAY.decrypt ("\xd6E\xd6E\xd6E\xd6E\xd6E")
RAY.decrypt("\x8e\x8e\x8e\x8e\x8e\x8e\x8e\x8e")]]
print(string.find(s, "RAY%.decrypt%s*%(([\"\'].+?(?=[\"\']).+?(?=[%)]))%s*%)"))
> nil
任何幫助,將不勝感激,謝謝!
非常感謝你。看來Lua正則表達式引擎不支持向前看,這解釋了爲什麼它不起作用。 – lewez