Lua正则表达式匹配makefile中的模式

用户名

我正在编写一个脚本来自动维护我的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章