26.04.2014, 20:33
|
Интересующийся
|
|
Регистрация: 18.11.2010
Сообщений: 12
|
|
Исключения подстроки в регулярном выражение
Здравствуйте уважаемые!
есть например строка: "размораживание,холодильни к,морозильник,морозилка,бы тро,нов ый способ,раздел-идеи,раздел-техника,компакт-диск"
не могу понять, как из не достать массив строк через через match, которые подпадают под правило:
"([а-яА-Яa-zA-Z0-9 -]+)";
но исключить те, которые начинаются на "раздел-", ну и возможно ли это в принципе?
|
|
26.04.2014, 20:50
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Сообщение от john1992on
|
как из не достать массив строк через через match, ... но исключить те, которые начинаются на "раздел-",
|
|
|
26.04.2014, 20:57
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Проще и очевиднее сделать так:
var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
var filtered = string.split(",").filter(function (x) {
return x.indexOf("раздел-") != 0;
});
alert(filtered);
|
|
26.04.2014, 22:08
|
Интересующийся
|
|
Регистрация: 18.11.2010
Сообщений: 12
|
|
Спасибо огромное!
Но ради интереса, регуляркой такое сделать можно?
|
|
26.04.2014, 22:29
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
var filtered = string.split(/(?:,(?:раздел-[^,]*)?)+/);
alert(filtered.join('\n'));
__________________
29375, 35
|
|
26.04.2014, 22:54
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Я всё таки думаю, что варианты с регулярками не подходят, потому что очень плохо читаются. Проще надо быть!
P.S. Вариация на тему от Aetae:
.split(/,(?:раздел-.*,)*/)
|
|
26.04.2014, 23:16
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
console.dir( string.replace(/раздел-.*?(\,|$)/g,"").split(","));
|
|
26.04.2014, 23:59
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Сообщение от Sweet
|
P.S. Вариация на тему от Aetae:
.split(/,(?:раздел-.*,)*/)
|
Ну да, тупанул , только:
.split(/,(?:раздел-.**!*?*/!*,)*/)
а то лишнего скушает.
__________________
29375, 35
|
|
27.04.2014, 00:02
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Сообщение от Aetae
|
только:
string.split(/,(?:раздел-.*?,)*/)
|
Тоже тупанул
|
|
27.04.2014, 00:12
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от Aetae
|
Ну да, тупанул, только:
.split(/,(?:раздел-.*?,)*/)
|
раздел-техника, вначале ?
|
|
|
|