re = /^myfunc\.call\({(?:\r?\n(?!\s*(?:"logging"|myfunc\.call)).*)*\r?\n.*"logging"\s*:\s*(true|false)/m
str = 'myfunc.call({
"logging" : true
});
myfunc.call({
"logging" : true,
//"mode": true,
}, "project1");
myfunc.call({
"devMode": true,
"logging" : false,
}, "project1");
myfunc.call({
"apiKey": "xxx",
"baseURL": "HTTP://xxx", // url used when not in dev mode
"mode": false, // mode
"logging": true, // logs events
}, "project1");
myfunc.call({
"apiKey": "xxx"
}, "project1");
myfunc.call({
"apiKey": "xxx",
"baseURL": "HTTP://xxx", // url used when not in dev mode
"mode": false, // mode
"logging": true, // logs events
}, "project1");'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html