const regex = /(https\:\\\/\\\/cm\.phncdn\.com\\\/videos\\\/[0-9]+\\\/[0-9]+\\\/[0-9]+\\\/[a-zA-Z0-9]+\_[a-zA-Z0-9]+\_[0-9]+\.mp4\?)+[a-zA-Z0-9=&]+(?=\"\})
/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(https\\:\\\\\\\/\\\\\\\/cm\\.phncdn\\.com\\\\\\\/videos\\\\\\\/[0-9]+\\\\\\\/[0-9]+\\\\\\\/[0-9]+\\\\\\\/[a-zA-Z0-9]+\\_[a-zA-Z0-9]+\\_[0-9]+\\.mp4\\?)+[a-zA-Z0-9=&]+(?=\\"\\})
', 'gm')
const str = `{"type":"inventory","detail":"searchResults","listingId":744625385,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2017,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":27465,"certified":false,"privateSeller":false,"price":30614,"mileage":21817,"vin":"1FTEW1E82HFC04557","priceBadge":""},{"type":"inventory","detail":"searchResults","listingId":742824859,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2016,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":151506,"certified":false,"privateSeller":false,"price":33587,"mileage":21300,"vin":"1FTFW1EG5GFB58894","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":742812409,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2015,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":197067,"certified":false,"privateSeller":false,"price":33733,"mileage":35629,"vin":"1FTEW1EF5FFA98486","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":742064728,"stockType":"New","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2018,"trim":"XL","bodyStyle":"Crew Cab Pickup","customerId":8810,"certified":false,"privateSeller":false,"price":34420,"mileage":7,"vin":"1FTEW1E59JFD37344","priceBadge":""},{"type":"inventory","detail":"searchResults","listingId":744494469,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2015,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":172815,"certified":false,"privateSeller":false,"price":30998,"mileage":49128,"vin":"1FTEW1EG9FFA97172","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":717395539,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2015,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":197467,"certified":false,"privateSeller":false,"price":34999,"mileage":25054,"vin":"1FTEW1EG9FFC39584","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":721487247,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2016,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":197467,"certified":false,"privateSeller":false,"price":33999,"mileage":20475,"vin":"1FTEW1E88GKF27565","priceBadge":"Good Deal | Well-Equipped"},
{"https:\\/\\/cm.phncdn.com\\/videos\\/156734\\/08\\/123456789\\/720P_1500K_123456789.mp4?ttl=8769876987698&ri=87676767698&rs=87656758765876&hashhjgk65786tguhgi67t86yg76786tguhg76553445edytrf87798huh67764e45dytrfuytgv"}Pickup","customerId":197467,"certified":false,"privateSeller":false,"price":34999,"mileage":25054,"vin":"1FTEW1EG9FFC39584","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":721487247,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2016,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":197467,"certified":false,"privateSeller":false,"price":33999,"mileage":20475,"vin":"1FTEW1E88GKF27565","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":736138058,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2015,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":197467,"certified":false,"privateSeller":false,"price":32999,"mileage":33274,"vin":"1FTEW1E80FFB14904","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":718253529,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2016,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":197467,"certified":false,"privateSeller":false,"price":31999,"mileage":29317,"vin":"1FTEW1E83GFC20927","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":713735936,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2015,"trim":"XLT","bodyStyle":"Crew Cab {"https:\\/\\/cm.phncdn.com\\/videos\\/667185\\/08\\/987654321\\/480P_600K_987654321.mp4?87656758765876&hashhjgk65786tguhgi67t86yg76786tguhg76553445edytrf87798huh67764e45dytrfuytgv"}{"type":"inventory","detail":"searchResults","listingId":742824859,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2016,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":151506,"certified":false,"privateSeller":false,"price":33587,"mileage":21300,"vin":"1FTFW1EG5GFB58894","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":742812409,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2015,"trim":"XLT","bodyStyle":"Crew Cab Pickup","customerId":197067,"certified":false,"privateSeller":false,"price":33733,"mileage":35629,"vin":"1FTEW1EF5FFA98486","priceBadge":"Good Deal | Well-Equipped"},{"type":"inventory","detail":"searchResults","listingId":742064728,"stockType":"New","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2018,"trim":"XL","bodyStyle":"Crew Cab Pickup","customerId":8810,"certified":false,"privateSeller":false,"price":34420,"mileage":7,"vin":"1FTEW1E59JFD37344","priceBadge":""},{"type":"inventory","detail":"searchResults","listingId":744494469,"stockType":"Used","make":"Ford","makeId":20015,"model":"F-150","modelId":21095,"year":2015,"trim":"XLT","bodyStyle":"Crew Cab `;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions