Исключения подстроки в регулярном выражение
Здравствуйте уважаемые!
есть например строка: "размораживание,холодильни к,морозильник,морозилка,бы тро,нов ый способ,раздел-идеи,раздел-техника,компакт-диск" не могу понять, как из не достать массив строк через через match, которые подпадают под правило: "([а-яА-Яa-zA-Z0-9 -]+)"; но исключить те, которые начинаются на "раздел-", ну и возможно ли это в принципе? |
Цитата:
![]() |
Проще и очевиднее сделать так:
var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
var filtered = string.split(",").filter(function (x) {
return x.indexOf("раздел-") != 0;
});
alert(filtered);
|
Спасибо огромное!
Но ради интереса, регуляркой такое сделать можно? |
var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
var filtered = string.split(/(?:,(?:раздел-[^,]*)?)+/);
alert(filtered.join('\n'));
|
Я всё таки думаю, что варианты с регулярками не подходят, потому что очень плохо читаются. Проще надо быть!:)
P.S. Вариация на тему от Aetae: .split(/,(?:раздел-.*,)*/) |
var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
console.dir( string.replace(/раздел-.*?(\,|$)/g,"").split(","));
|
Цитата:
.split(/,(?:раздел-.**!*?*/!*,)*/)а то лишнего скушает. |
Цитата:
|
Цитата:
|
Poznakomlus, упс.=)
|
Aetae,
так куда решение то спрятал :) |
То наркоманское извращение на тему рег. выражения до которого я дошёл на решение не тянет ибо есть подводные камни. Так что придётся в две функции таки делать.)
|
| Часовой пояс GMT +3, время: 19:30. |