const regex = /<w:p.*?>.*?<w:t>\$<\/w:t>.*?test.*?<\/w:p>/ims;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('<w:p.*?>.*?<w:t>\\$<\\\/w:t>.*?test.*?<\\\/w:p>', 'ims')
const str = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"><w:body><w:p w:rsidR="00EA0853" w:rsidRDefault="00E24666" w:rsidP="00582CB9"><w:pPr><w:tabs><w:tab w:val="left" w:pos="10065"/></w:tabs><w:spacing w:before="120" w:after="120" w:line="240" w:lineRule="auto"/><w:jc w:val="center"/><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr><w:t>APP</w:t></w:r></w:p><w:p w:rsidR="0035180D" w:rsidRDefault="00C7412B" w:rsidP="00945FB5"><w:pPr><w:tabs><w:tab w:val="left" w:pos="10065"/></w:tabs><w:spacing w:before="120" w:after="120" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr></w:pPr><w:r w:rsidRPr="002E673F"><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr><w:t>\$</w:t></w:r><w:r w:rsidR="0035180D" w:rsidRPr="002E673F"><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr><w:t>{</w:t></w:r><w:r w:rsidR="005803EA" w:rsidRPr="002E673F"><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr><w:t>test</w:t></w:r><w:r w:rsidR="0035180D" w:rsidRPr="002E673F"><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr><w:t>}</w:t></w:r></w:p><w:p w:rsidR="00524DA0" w:rsidRPr="002E673F" w:rsidRDefault="00524DA0" w:rsidP="00945FB5"><w:pPr><w:tabs><w:tab w:val="left" w:pos="10065"/></w:tabs><w:spacing w:before="120" w:after="120" w:line="240" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:lang w:val="en-US"/></w:rPr></w:pPr></w:p><w:p w:rsidR="00375D75" w:rsidRPr="00496574" w:rsidRDefault="00375D75" w:rsidP="00496574"><w:pPr><w:spacing w:after="0" w:line="120" w:lineRule="auto"/><w:rPr><w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/><w:b/><w:sz w:val="2"/><w:lang w:val="en-US"/></w:rPr></w:pPr></w:p><w:sectPr w:rsidR="00375D75" w:rsidRPr="00496574" w:rsidSect="00550158"><w:pgSz w:w="11906" w:h="16838" w:code="9"/><w:pgMar w:top="1134" w:right="707" w:bottom="568" w:left="1134" w:header="708" w:footer="708" w:gutter="0"/><w:cols w:space="708"/><w:docGrid w:linePitch="360"/></w:sectPr></w:body></w:document>`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
if ((m = regex.exec(str)) !== null) {
// 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