Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отрицание в регулярных выражения (https://javascript.ru/forum/misc/80543-otricanie-v-regulyarnykh-vyrazheniya.html)

Nlk 18.06.2020 18:19

Отрицание в регулярных выражения
 
Добрый день.

Плагин gulp-class-prefix добавляет префикс к классу css.
А таким образом игнорирует классы к которым не нужно добавлять префикс:
.pipe(classPrefix('prefix', { ignored: [/\.ng-/] }))


Вопрос. Мне нужно добавить префикс только к одному классу, как мне инвертировать regexp? Пробовал такой вариант, но не пошло:
/\\b(?!(?:\.my-class)\\b)w+\\b/

Pavel M. 18.06.2020 19:12

Может быть это поможет
будут игнорироваться все классы, кроме .my-class
let reg = /\.(?!my-class)/;
console.log(reg.test('.ng-xxxxx'));
console.log(reg.test('\.my-class'));
console.log(reg.test('\.notmy-class'));

https://jsfiddle.net/r49v7nam/

Alexandroppolus 18.06.2020 22:12

Цитата:

Сообщение от Pavel M. (Сообщение 526088)
Может быть это поможет
будут игнорироваться все классы, кроме .my-class
let reg = /\.(?!my-class)/;
console.log(reg.test('.ng-xxxxx'));
console.log(reg.test('\.my-class'));
console.log(reg.test('\.notmy-class'));

https://jsfiddle.net/r49v7nam/

допилил
let reg = /\.(?!my-class\b(?!-))/;

Nlk 19.06.2020 11:07

Pavel M., Alexandroppolus,

Спасибо большое, помогли!

Единственно не могу понять, у меня данный класс много раз встречается, данная регулярка срабатывает то через раз то через два. Возможно в самом плагине какой конфликт имеется. Буду юзать, спасибо.


Часовой пояс GMT +3, время: 14:47.