Как получить имена классов с помощью Регулярного выражения?
Второй элемент массива - то, что нужно:
'.a'.match(/\.(\w+)/) // -> [ '.a', 'a' ] Пробую получить больше классов и добавляю флаг g. '.a.b.c.d'.match(/\.(\w+)/g); // -> [ '.a', '.b', '.c', '.d' ] Почему перестали возвращаться имена без точек? Ожидание 1: [ '.a', 'a', '.b', 'b', '.c', 'c', '.d', 'd' ] В идеале: [ 'a', 'b', 'c', 'd' ] В общем нужно проверить, что на протяжении всей строки идет чередование "точка-слово-точка-слово..." и если это так, забрать только слова |
'.a.b.c.d'.match(/(?<=\.)\w+/g); под новые браузеры. |
Цитата:
var a = '.a.b.c.d'; alert(/^(\.\w+)+$/.test(a) && a.match(/\w+/g)); |
j0hnik, как появится новый браузер, проверю. Думаю, что работает, спасибо.
рони, похоже на правду, спасибо. |
Часовой пояс GMT +3, время: 17:02. |