Исключения подстроки в регулярном выражение
Здравствуйте уважаемые!
есть например строка: "размораживание,холодильни к,морозильник,морозилка,бы тро,нов ый способ,раздел-идеи,раздел-техника,компакт-диск" не могу понять, как из не достать массив строк через через 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(/,(?:раздел-.**!*?*/!*,)*/)а то лишнего скушает. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 04:19. |