Глобальный поиск в регулярных выражениях
Ребята, привет всем!
Никак не могу догадаться, что делаю не так. Есть код, указанный ниже и входные данные : "qwe\nqwe". В результате выполнения кода получаю только один "qwe". Почему? Ведь я использую глобальный поиск по образцу. Подскажите, пожалуйста. <script type="text/javascript"> function cleanLog() { $('res').update(""); // clear previous data regExps = new Array ( "qwe", "abc" ); log = $('log').value; // элемент содержит "qwe\nqwe" arr = new Array(); for(var i = 0; i < regExps.length; ++i) { res = new RegExp(regExps[i],"gim").exec(log); if (res != null) arr = arr.concat(res); } for(var i = 0; i < arr.length; ++i) { $('res').insert(arr[i] + "<br>"); // в res только один "qwe" } } </script> |
"abc" замени на "nqwe"
|
Цитата:
Вот это regExps = new Array ( "qwe", "abc" ); есть набор регулярных выражений. "qwe\nqwe" - есть входная строка, где "\n" подразумевает переход строки... Помогло, кстати, вот так: arr = log.match(new RegExp(regexp, "ig")); С приведенным выше вариантом так пока и не понятно почему не работает. |
|
Цитата:
+--------+------------+---------+------------------------------------------------- | чей | возвращает | имя | описание | метод | | | | | | | | | | | +--------+------------+---------+------------------------------------------------- | RegExp | Boolean | test | false || true, вместо String.prototype.include() | String | Integer | search | -1 || позиция первого совпадения, вместо String.prototype.indexOf() | RegExp | Array | exec | null || ['совпадение1', 'скобка1', 'скобка2', 'скобка3', ...] : alert( /(\d+).(\d+).(\d+)/.exec('Я родился 15.09.1980') ); | String | Array | match | null || IF global THEN ['совпадение1', 'совпадение2', 'совпадение3', ...] ELSE как exec : ['совпадение1', 'скобка1', 'скобка2', 'скобка3', ...] | String | Array | split | [all] || разделение ( auto global ) | String | String | replace | без замены || замена +--------+------------+---------+------------------------------------------------- Судя по моей чудо-табличке вам нужен match с global . |
Kolyaj, Riim, спасибо за помощь!
Riim, да, табличка действительно неплохая, позаимствовал :write: |
Часовой пояс GMT +3, время: 23:52. |