【发布时间】:2013-02-28 13:40:09
【问题描述】:
这个可以拿吗:
a=[[do end workspace.Part["Child 1"].Object.child2["thing"]remove() do end]]
a=a:gsub("%.%a+","{F}%0{F}")
a=a:gsub('(%[%s*([\'"]?).*%2%s*%]):remove%(%)','{F}%1{F}:remove()')
a=a:gsub('{F}%s*{F}','')
a=a:gsub('{F}.-{F}','filterremove(%0)')
Output: do end filterremove(Workspace.Part["Child 1"].Object.child2["thing"]) do end
并且只使用一个 gsub 来获得相同的结果,而不是两个? 不管 x.y、x[y]、[x][y] 等的组合。
【问题讨论】:
-
提供示例输入输出字符串?
-
输入:workspace.Part["Child"]:remove(),输出:filterremove(workspace.Part["Child"])
-
a=a:gsub("(.*)%:remove%(%)", "filterremove(%1)") -
这将尝试将整个程序“删除”到一个函数中。
-
Relevant。你不能从这里到达那里。
标签: string lua pattern-matching