re = /fbq\('track'(?!.*?PageView)[^)]*\);/m
str = 'fbq(\'track\', \'PageView\');
fbq(\'track\', \'PageView\');
fbq(\'track\', \'Purchase\');
fbq(\'track\', \'Purchase\',
// begin parameter object data
{
value: 115.00,
currency: \'USD\',
contents: [
{
id: \'301\',
quantity: 1
},
content_type: \'product\'
}
// end parameter object data
);
fbq(\'track\', \'PageView\',
// begin parameter object data
{
value: 115.00,
currency: \'USD\',
content_type: \'product\'
}
// end parameter object data
);'
# 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