2015.07.01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

MHI 5.0

この「にっき」には暴力シーンやグロテスクな表現が含まれています。

(2015.07.15) 1118

$ 引用符で囲まれた領域を、置換の対象外にする技 #Lua

置換の対象にならないような文字列「\a(通し番号)」に一旦置き換えるという方法。 wifky.plでやった技だけど、Lua のパターン置換でもいけた ( nyagos の brace.lua で使ってみた )。

local save={}

cmdline = cmdline:gsub("((['\"])[^%2]*%2)", function(s,_)
    local i=#save+1
    save[i] = s
    return '\a('..i..')'
end)

--- このへんで目的の置換を行う ---


cmdline = cmdline:gsub("\a%((%d+)%)",function(s)
    return save[s+0]
end)
.net(3) C++(3) Cygwin(12) GAME(3) Groovy(1) Linux(2) Lua(39) Mercurial(13) NYAOS(92) OS/2(7) Oracle(3) Perl(4) Python(22) SKK(4) Windows8(1) album(68) ckw(10) coLinux(1) vim(6) wifky(27) 書評(21) (9)

zetamattaのたいじゅー