regex - javascript RegExp: how to match multiline and closetag -
var ex = /(<script\s?[^>]*>)([\s\s]*)(<\/script>)/; //note: here 2 script tags var str = '<script>\nvar x=0;\n</script>\n<div>\nhtml\n</div>\n<script>var y=0;\n</script>' str.replace(ex, function(full, prefix, script, suffix) { return prefix + dosomething(script) + suffix; }) but got wrong script: var x=0;</script><div>..</div><script>var y=0;
what want is: var x=0; , var y=0;
use regex below:
<script>([\s\s]*?)</script> in javascript cannot make . dotall use [\s\s] character class matches character either whitespace or not whitespace including newline. ? non-greedy match don't nest script tags.
Comments
Post a Comment