1. re = /<div class="blockqte">((?:[^<]|<\/?s)*)<\/div>/g;
2. re = /<div class="blockqte">((?:[^<]*|<\/?s)*)<\/div>/g;
3. re = /<div class="blockqte">((?:.|\n)*?)<\/div>/g;
Any one of these go with the statement:
str = str.replace(re, "<pre>$1</pre>");
My understanding and please correct me if I'm wrong, is that expression number 3 is inefficient since it leaves the grouping with each of its evaluations to check the remainder of the expression (i.e. </div>). However, in 1 and 2 the group is left only with the first failure in matching all of its alternatives. That seems to make 1 and 2 better choices and it's here that I'm not sure of the advantages of one over the other. Can any one help with this?
By the way if there are better ways to do all this, I would much appreciate the advice and any clarifications. Thank you in advance.