<p>On my code
MediaWiki:PreloadTemplates.js, I'm using this code
</p>
<div dir="ltr" class="mw-geshi mw-content-ltr"><div class="javascript source-javascript">
<span class="co1">// Parse MediaWiki code to allow the use of incudeoonly and noninclude tags in the preload page</span>
<span class="kw1">function</span> parseMW<span class="br0">(</span>source<span class="br0">)</span><span class="br0">{</span>
<span class="kw1">var</span> parsed <span class="sy0">=</span> source.<span class="me1">replace</span><span class="br0">(</span><span class="co2">/<includeonly>(\n)?|(\n)?<\/includeonly>|\s*<noinclude>[^]*<\/noinclude>/g</span><span class="sy0">,</span> <span class="st0">''</span><span class="br0">)</span><span class="sy0">;</span>
<span class="kw1">return</span> parsed<span class="sy0">;</span>
<span class="br0">}</span></div></div>
<p>to basically mimic the use of noinclude/includeonly tags. However, if you use the regex I'm using with this string, for example
</p>
... <noinclude>TEXT TO EXCLUDE</noinclude>TEXT TO INCLUDE<noinclude>TEXT TO EXCLUDE</noinclude> ...
<p>will match everything between the two most far tags, and therefore results in
... .... What should be the correct regex instead?
</p>