Не могу победить RegExp (exec)
Уже устал разбираться, не могу никак понять почему не работает вот этот код:
var myRe = /(\S+)/ig; var arr = myRe.exec("one, two, three"); alert (arr); В массив arr почему-то пишется только два значения - arr[0] = one, и arr[1] = one, Почему скрипт не хочет идти дальше и обрабатывать всю строку? |
Метод exec всегда получает одно вхождение, но использовать (с флагом g) вы можете несколько раз в цикле, для того, чтобы получить все нужные вхождения. Для вашей задачи, как я понял, вам нужен метод match. За подробностями прошу в статью "регулярные выражения".
|
Большое спасибо, работает. Только я не понимаю, зачем тогда нужна ф-я exec. Привык работать в php, там это немного иначе реализовано, и как-то более удачнее на мой взгляд.
|
Как ни странно, в PHP имеется аналоги для лбоих функций))))
так что привыкайте тут к match, раз привыкли в PHP к match_all |
Часовой пояс GMT +3, время: 09:35. |