К счастью, пока не приходилось таким страдать. Но если вдруг придётся, http://blog.stevenlevithan.com/archives/javascript-regex-and-unicode и http://inimino.org/~inimino/blog/javascript_cset
8 декабря 2012 г., 3:49 пользователь Orlovsky Alexander < [email protected]> написал: > JS регекспы – жуткий треш, когда текст не-ASCII (в переводе – ничего не > работает) > > 08.12.2012, 02:31, "Akzhan Abdulin" <[email protected]>: > > А, вы об этом. Модификатора s нет. В таких случаях надо заменять . на > [\s\S] > var s = "fau\nlta\nbtalerance"; > var re = /([\s\S]*?)(a\nb)([\s\S]*)/m; > var m = re.exec(s); > console.log(m); > > 8 декабря 2012 г., 2:14 пользователь Ivan Petrov > <[email protected]>написал: > > > Опять не понял. > > > ➜ Projects cat 1.js > > var s = "faulta\nbtalerance"; > > > var re = /(.*?)(a\nb)(.*)/m; > > > var m = re.exec(s); > > > console.log(m); > как говорили у нас на родине "авоттех..." оно не работает. > > это же не Perl, регулярные выражения совершенно непредсказуемы! > > добавляем \n в слово fault и все магически перестает работать: > > nb:[~]$ nodejs 1.js > [ 'ulta\nbtalerance', > 'ult', > 'a\nb', > 'talerance', > index: 3, > input: 'fa\nulta\nbtalerance' ] > nb:[~]$ cat 1.js > var s = "fa\nulta\nbtalerance"; > > var re = /(.*?)(a\nb)(.*)/m; > > var m = re.exec(s); > > > console.log(m); > > и без /m: > > nb:[~]$ cat 1.js > var s = "fa\nulta\nbtalerance"; > > var re = /(.*?)(a\nb)(.*)/m; > > var m = re.exec(s); > > > console.log(m); > nb:[~]$ vim 1.js > nb:[~]$ nodejs 1.js > [ 'ulta\nbtalerance', > 'ult', > 'a\nb', > 'talerance', > index: 3, > input: 'fa\nulta\nbtalerance' ] > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > , > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
