const regex = /\s*<Title\svodBackOfficeId=\"([^\s]*)">/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('\\s*<Title\\svodBackOfficeId=\\"([^\\s]*)">', 'g')
const str = `<?xml version="1.0" encoding="utf-8"?>
<Titles xmlns="urn:eventis:prodis:onlineapi:2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Title vodBackOfficeId="00181253-684f-4911-92ab-91859bc4402a">
<IngestId>1001_00000000071p1</IngestId>
<Name>Superbabies: Baby Geniuses 2 71</Name>
<Description>A group of smart-talking toddlers find themselves at the center of a media moguls experiment to crack the code to baby talk. The toddlers must race against time for the sake of babies everywhere.</Description>
<ContentProvider>Arrivo</ContentProvider>
<CurrentTitleType>Feature</CurrentTitleType>
<IsApp>false</IsApp>
<Assets>
<Asset vodBackOfficeId="dc640b52-3067-4ba2-8506-474996126089" encodingProfileCode="Cable"/>
<Asset vodBackOfficeId="0a36f3c4-1484-4631-be26-f01a955966ae" encodingProfileCode="Orion"/>
<Asset vodBackOfficeId="00a0cca8-9d09-4048-bf17-e51b63bb1491" encodingProfileCode="Widevine"/>
</Assets>
<MetadataIngestId>1001_00000000071p1</MetadataIngestId>
</Title>
<Title vodBackOfficeId="c4289c39-b92f-49c5-9a45-bc6eaf7b8393">
<IngestId>9110_00000000175p1</IngestId>
<Name>SmartRec Test VOD 1</Name>
<Description>The Tramp cares for an abandoned child, but events put that relationship in jeopardy. Dennis</Description>
<ContentProvider>Arrivo</ContentProvider>
<CurrentTitleType>Feature</CurrentTitleType>
<IsApp>false</IsApp>
<Assets>
<Asset vodBackOfficeId="39779bf2-800f-4821-8d43-b42dffe155f9" encodingProfileCode="Cable"/>
<Asset vodBackOfficeId="9c90a157-875e-4737-936e-3d34b60a6b61" encodingProfileCode="Orion"/>
<Asset vodBackOfficeId="13fb314b-332c-4633-9334-d294f72e370b" encodingProfileCode="Widevine"/>
</Assets>
<MetadataIngestId>9110_00000000175p1</MetadataIngestId>
</Title>
<Title vodBackOfficeId="4a8bc282-8bb8-4dce-b2d1-e2129c092d80">
<IngestId>seachange.com_TEST1386088695671341</IngestId>
<Name>Wanted</Name>
<Description>Doormat Wesley Gibson discovers that his recently murdered father -- who Wesley never knew -- belonged to a secret guild of assassins. After a leather-clad sexpot drafts Wesley into the society, he hones his innate killing skills and turns avenger.</Description>
<ContentProvider>SEAC</ContentProvider>
<CurrentTitleType>Feature</CurrentTitleType>
<IsApp>false</IsApp>
<Assets>
<Asset vodBackOfficeId="b0c8bdd7-00e3-4ce5-889b-73e708d75f03" encodingProfileCode="Cable"/>
</Assets>
<MetadataIngestId>seachange.com_TEST1386088695671341</MetadataIngestId>
</Title>`;
// 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