const regex = /<([^> ]+)[^>]*>[^<]*<([^> ]+)[^>]*>({{.*}})<\/\2>[^<]*<\/\1>/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('<([^> ]+)[^>]*>[^<]*<([^> ]+)[^>]*>({{.*}})<\\\/\\2>[^<]*<\\\/\\1>', 'g')
const str = `# <td><p>{{README.README}}</p></td>
# My soluction is independent of the HTML tags which make it very flexible.
# Work with javascript, python and php(probably you are using javascript).
#
# Alternative soluctions... copy and try!
# More expecific:
<([^> ]+)[^>]*>[^<]*<([^> ]+)[^>]*>({{custom.amountTable}})<\\/\\2>[^<]*<\\/\\1>
# More expecific and faster:
<(tr)[^>]*>[^<]*<(td)[^>]*>({{custom.amountTable}})<\\/\\2>[^<]*<\\/\\1>
<thead>
<tr style="background-color: #487cdb; text-align: center;">
<td style="width: 224px;">qwerqwerqwer</td>
<td style="width: 224px;">qwerqwerqwer</td>
<td style="width: 225px;">qwerqwerqwer</td>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 224px;"> </td>
<td style="width: 224px;"> </td>
<td style="width: 225px;"> </td>
</tr>
<tr style="text-align: center;">
<td style="width: 224px;" colspan="3">{{custom.amountTable}}</td>
</tr>
<tr>
<td style="width: 224px;"> </td>
<td style="width: 224px;"> </td>
<td style="width: 225px;"> </td>
</tr>
</tbody>
</table>
# <td><p>{{HEY.FYI}}</p></td>
# I could make a function that generate the regex dinamicly, for example you
# could pass the expecific {{custom.property}} part
# and the level of HTML tags to match
# matchFunction('custom.amountTable', 2))
<tag whatever="property">
<anothertag>{{custom.whatever}}</anothertag>
</tag>
<td><p>{{custom.whatever}}</p></td>
#Junior Báez: https://www.linkedin.com/in/jrbaez01/`;
// 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