среда, 15 октября 2014 г.

Методы регулярных выражений

- экземпляры RegExp:
        /regexp/.exec('строка')
                        null или массив ['всё совпадение', $1, $2, ...]
        /regexp/.test('строка')
                        false или true
                   
- экземпляры String:
        'str'.match(/regexp/)
        'str'.match('\\w{1,3}')
                        - эквивалент /regexp/.exec, если нет флага g;
                        - массив всех совпадений по строке, если есть флаг g
(внутренние группировки игнорируются)
                   
        'str'.search(/regexp/)
        'str'.search('\\w{1,3}')
                 позиция первого совпадения или -1

- экземпляры String:
'str'.replace(/old/, 'new');
   
В строке замены поддерживаются следующие спецсимволы:
   $$   вставляет значок доллара "$"
    $&   подстрока, совпавшая с регэкспом
    $`   подстрока до $&
    $'   подстрока после $&
    $1, $2, $3 и т.д.: cтрока, совпавшая с соответствующей
скобочной группировкой
   
'str'.replace(/(r)(e)gexp/g,
    function(matched, $1, $2, offset, sourceString) {
        // чем заменить matched на этом шаге?
        return 'замена';
});

Комментариев нет:

Отправить комментарий