You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求匹配Lua中--[[与]]间所有内容的正则表达式

解决Lua多行注释匹配的正则问题

你的问题出在原正则的否定字符集上:[^]\]]+实际上是匹配除了]之外的任意字符,所以遇到注释里的单个]就会停止匹配,根本到不了结尾的]]。

直接用非贪婪匹配就能解决,下面是两种可行的正则方案:

方案1:利用[\s\S]匹配任意字符(无需额外标志)

这个模式能匹配所有空白和非空白字符(包括换行),不用加正则标志:

import re

pattern = r"--\[\[([\s\S]*?)]]"
cleaned_lua = re.sub(pattern, "", your_lua_code_string)

方案2:使用.*?配合DOTALL标志

.*?是非贪婪匹配,加上re.DOTALL让.能匹配换行符(默认.不匹配换行):

import re

pattern = r"--\[\[(.*?)]]"
cleaned_lua = re.sub(pattern, "", your_lua_code_string, flags=re.DOTALL)

这两种方案都会从--[[开始,一直匹配到第一个出现的]],不管中间有多少单个]或者换行符,完美覆盖你的需求。

内容的提问来源于stack exchange,提问作者applepie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 17:20:30