К счастью, пока не приходилось таким страдать. Но если вдруг придётся, <a href="http://blog.stevenlevithan.com/archives/javascript-regex-and-unicode">http://blog.stevenlevithan.com/archives/javascript-regex-and-unicode</a> и <a href="http://inimino.org/~inimino/blog/javascript_cset">http://inimino.org/~inimino/blog/javascript_cset</a><br>
<div class="gmail_extra"><br><br><div class="gmail_quote">8 декабря 2012 г., 3:49 пользователь Orlovsky Alexander <span dir="ltr"><<a href="mailto:nordicdyno@yandex.ru" target="_blank">nordicdyno@yandex.ru</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>JS регекспы – жуткий треш, когда текст не-ASCII (в переводе – ничего не работает) </div>
<div> </div><div>08.12.2012, 02:31, "Akzhan Abdulin" <<a href="mailto:akzhan.abdulin@gmail.com" target="_blank">akzhan.abdulin@gmail.com</a>>:</div><div class=""><div class="h5"><blockquote type="cite"><div>
А, вы об этом. Модификатора s нет. В таких случаях надо заменять . на [\s\S]</div><div><div>var s = "fau\nlta\nbtalerance";</div><div>var re = /([\s\S]*?)(a\nb)([\s\S]*)/m;</div><div>var m = re.exec(s);</div><div>
console.log(m);</div><br><div>8 декабря 2012 г., 2:14 пользователь Ivan Petrov <span dir="ltr"><<a href="mailto:i.petro.77.00@gmail.com" target="_blank">i.petro.77.00@gmail.com</a>></span> написал:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>> Опять не понял.<br> <br> > ➜  Projects  cat 1.js<br> > var s = "faulta\nbtalerance";<br> <br> > var re = /(.*?)(a\nb)(.*)/m;<br> <br> > var m = re.exec(s);<br> <br> > console.log(m);<br>
 </div>как говорили у нас на родине "авоттех..." оно не работает.<br> <br> это же не Perl, регулярные выражения совершенно непредсказуемы!<br> <br> добавляем \n в слово fault и все магически перестает работать:<br>
 <br> nb:[~]$ nodejs 1.js<br> [ 'ulta\nbtalerance',<br><div>  'ult',<br>   'a\nb',<br>   'talerance',</div>  index: 3,<br>   input: 'fa\nulta\nbtalerance' ]<br> nb:[~]$ cat 1.js<br>
 var s = "fa\nulta\nbtalerance";<br><div><br> var re = /(.*?)(a\nb)(.*)/m;<br> <br> var m = re.exec(s);<br> <br> <br> console.log(m);<br> <br> </div>и без /m:<br> <br> nb:[~]$ cat 1.js<br> var s = "fa\nulta\nbtalerance";<br>
<div><br> var re = /(.*?)(a\nb)(.*)/m;<br> <br> var m = re.exec(s);<br> <br> <br> console.log(m);<br> </div>nb:[~]$ vim 1.js<br> nb:[~]$ nodejs 1.js<br> [ 'ulta\nbtalerance',<br><div>  'ult',<br>   'a\nb',<br>
   'talerance',</div>  index: 3,<br>   input: 'fa\nulta\nbtalerance' ]<br><div><div><br> --<br> Moscow.pm mailing list<br> <a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a></div>
</div></blockquote></div></div>,<p>-- <br>Moscow.pm mailing list<br><a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a></p></blockquote>
</div></div><br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br></div>