const regex = /@if\((?P<condition>.*)\)\n*\s*(?P<content>(?s:[\=\"\;\,\$\{\}\_\(\)\.\!\'\-\:\s\/\<\>\w\näöüÄÖÜèéà@]*))@endif/m;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('@if\\((?P<condition>.*)\\)\\n*\\s*(?P<content>(?s:[\\=\\"\\;\\,\\$\\{\\}\\_\\(\\)\\.\\!\\\'\\-\\:\\s\\\/\\<\\>\\w\\näöüÄÖÜèéà@]*))@endif', 'm')
const str = `@if('0' == '0')
<div id="alert" class="alert alert-danger" style="display: inline-block">fgh</div>
@endif
<form method="post">
<button id="startLogik" class="button" type="submit" name="start">fgh</button>
</form>
@if('0' == '1')
<script type="text/javascript">
Logik_SrvBsy = "bsy";
GetClientName();
Logik_Init("", "", "web","test","Start");
Logik_SPar_fx("WEB_LOGIN.EMAIL", "mail@mail");
Logik_SPar_fx("WEB_LOGIN.WEBID", "cvb");
Logik_SPar_fx("WEB_LOGIN.LANG", "cvb");
Logik_Exec_fx("Start");
</script>
@endif`;
// 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