use strict;
my $str = '{\\"active_ad_id\\":\\"789915\\",\\"publisher_id\\":\\"728\\",\\"publisher_data1\\":\\"225_192_99_bf56c9012a1d810f2ab52\\",\\"placement_id\\":\\"212_WDfTkctyUHoYbXDU\\",\\"device_os\\":\\"android\\",\\"device_os_version\\":\\"5.1\\",\\"ip\\":\\"78.26.216.249\\",\\"request\\":\\"/tracking?offer_id=789915\\\\u0026publisher_id=728\\\\u0026placement_id=212_WDfTkctyUHoYbXDU\\\\u0026publisher_data1=225_192_99_bf56c9012a1d810f2ab52\\\\u0026ios_ifa=\\\\u0026google_aid=\\",\\"agent\\":\\"Mozilla%2F5.0+%28Linux%3B+Android+5.1%3B+m2+Build%2FLMY47D%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Version%2F4.0+Chrome%2F40.0.2214.124+Mobile+Safari%2F537.36\\",\\"host\\":\\"tracking.cph-media.com\\",\\"country\\":\\"ua\\",\\"state\\":\\"51\\",\\"city\\":\\"odesa\\",\\"network_id\\":7,\\"tracking_id\\":\\"007C1531432355PyAgF1NWwW9fMhSgNrn9TA\\",\\"source_id\\":471,\\"clicked_at\\":\\"2018-07-12 21:52:35.989354\\",\\"created_at\\":\\"2018-07-12 21:52:36.002024\\",\\"updated_at\\":\\"2018-07-12 21:52:36.002054\\",\\"unix_clicked_at\\":1531432355,\\"unix_clicked_at_date\\":1531353600,\\"unix_clicked_at_hour\\":1531429200,\\"unix_clicked_at_minute\\":1531432320,\\"ip_gdpr\\":\\"78.26.216.248\\"}{\\"active_ad_id\\":\\"1350798\\",\\"publisher_id\\":\\"804\\",\\"publisher_data1\\":\\"18071223_08_292289_a5d2f506c041e\\",\\"placement_id\\":\\"a292289s92520128_7086\\",\\"device_os\\":\\"android\\",\\"device_os_version\\":\\"6.0\\",\\"ip\\":\\"182.232.100.114\\",\\"request\\":\\"/tracking?offer_id=1350798\\\\u0026publisher_id=804\\\\u0026placement_id=a292289s92520128_7086\\\\u0026publisher_data1=18071223_08_292289_a5d2f506c041e\\\\u0026affe=fl\\",\\"agent\\":\\"Mozilla%2F5.0+%28Linux%3B+Android+6.0%3B+BLL-L22+Build%2FHUAWEIBLL-L22%3B+wv%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Version%2F4.0+Chrome%2F66.0.3359.158+Mobile+Safari%2F537.36\\",\\"host\\":\\"tracking.stroeermp.com\\",\\"country\\":\\"th\\",\\"state\\":\\"10\\",\\"city\\":\\"bangkok\\",\\"network_id\\":6,\\"tracking_id\\":\\"006C1531432356dR4xiu2gcRDY4V7NfRVJhg\\",\\"source_id\\":623,\\"clicked_at\\":\\"2018-07-12 21:52:36.002165\\",\\"created_at\\":\\"2018-07-12 21:52:36.010711\\",\\"updated_at\\":\\"2018-07-12 21:52:36.014774\\",\\"unix_clicked_at\\":1531432356,\\"unix_clicked_at_date\\":1531353600,\\"unix_clicked_at_hour\\":1531429200,\\"unix_clicked_at_minute\\":1531432320,\\"ip_gdpr\\":\\"182.232.100.112\\"}';
my $regex = qr/({((\\?\".*?\\?\")*?)})/p;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
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 Perl, please visit: http://perldoc.perl.org/perlre.html