0758デフォルトの名無しさん
2018/12/04(火) 13:11:47.75ID:vhrUEqnQregexp = /((?:([^"']*?)(?:\/\/[^\n]*|\/\*.*?\*\/))*)(("|').*?(?<!\\)(?:\\\\)*\4)?/m
puts <<~EOT.gsub(regexp, '\2\3')
hoge(); // fuga
hoge('"'); // fuga ");
hoge("// \\"fuga\\"\\\\", /* fuga */ *"fuga");
hoge("/* fuga */"); /* fuga
fuga /* "fuga" // */; hoge
EOT
# =>
hoge();
hoge('"');
hoge("// \"fuga\"\\", *"fuga");
hoge("/* fuga */"); ; hoge