我正在编写一个脚本来自动维护我的makefile。我需要一个与以下行匹配的Lua模式:
# objects {
objects = build/somefile1.o \
build/somefile2.o \
...
build/somefileN.o \
# } objects
我尝试过,%# objects %{[a-z%.%s%/%\\]+%# %} objects
但似乎没有用。
我建议使用:
"\n(# objects %b{} objects)"
为了使它适用于匹配在字符串开头的情况,您需要在字符串输入前添加换行符。在这里,换行符首先匹配,然后是# objects
,然后是空格,然后%b{}
匹配平衡的嵌套花括号(如果有),然后objects
匹配。
运行提取时,捕获的部分((...)
)将返回string.gmatch
。
观看Lua在线演示
s = [[ YOUR_TEXT_HERE ]]
for m in string.gmatch("\n" .. s, "\n(# objects %b{} objects)") do
print(m)
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句