3

これを取ることは可能ですか:

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

2つではなく、1つのgsubのみを使用して同じ結果を得ますか? xy、x[y]、[x][y]などの組み合わせは問いません。

4

2 に答える 2

1

少なくともチェーンしてラインラップすることができます:

a = [[do end workspace.Part["Child 1"]:remove() do end]]
a = a:gsub("%.%a+","{F}%0{F}")  
     :gsub('(%[%s*([\'"]?).*%2%s*%]):remove%(%)','{F}%1{F}:remove()')
     :gsub('{F}%s*{F}','')
     :gsub('{F}.-{F}','filterremove(%0)')

しかし、実際には、これは決してうまくいきません。どうですか:

workspace.remove(x)
workspace["remove"](x)
getfenv()["work" .. "space"]["re".."move"](x)
于 2013-02-28T16:29:22.293 に答える
1

a:gsub("(%S*%b[]):remove%(%)", "filterremove(%1)")

于 2013-02-28T16:15:01.057 に答える