Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2014, 20:33
Интересующийся
Отправить личное сообщение для john1992on Посмотреть профиль Найти все сообщения от john1992on
 
Регистрация: 18.11.2010
Сообщений: 12

Исключения подстроки в регулярном выражение
Здравствуйте уважаемые!

есть например строка: "размораживание,холодильни к,морозильник,морозилка,бы тро,нов ый способ,раздел-идеи,раздел-техника,компакт-диск"

не могу понять, как из не достать массив строк через через match, которые подпадают под правило:
"([а-яА-Яa-zA-Z0-9 -]+)";
но исключить те, которые начинаются на "раздел-", ну и возможно ли это в принципе?
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2014, 20:50
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от john1992on
как из не достать массив строк через через match, ... но исключить те, которые начинаются на "раздел-",
Ответить с цитированием
  #3 (permalink)  
Старый 26.04.2014, 20:57
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Проще и очевиднее сделать так:
var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
var filtered = string.split(",").filter(function (x) {
  return x.indexOf("раздел-") != 0;
});
alert(filtered);
Ответить с цитированием
  #4 (permalink)  
Старый 26.04.2014, 22:08
Интересующийся
Отправить личное сообщение для john1992on Посмотреть профиль Найти все сообщения от john1992on
 
Регистрация: 18.11.2010
Сообщений: 12

Спасибо огромное!

Но ради интереса, регуляркой такое сделать можно?
Ответить с цитированием
  #5 (permalink)  
Старый 26.04.2014, 22:29
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
var filtered = string.split(/(?:,(?:раздел-[^,]*)?)+/);
alert(filtered.join('\n'));
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 26.04.2014, 22:54
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Я всё таки думаю, что варианты с регулярками не подходят, потому что очень плохо читаются. Проще надо быть!
P.S. Вариация на тему от Aetae:
.split(/,(?:раздел-.*,)*/)
Ответить с цитированием
  #7 (permalink)  
Старый 26.04.2014, 23:16
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var string = "размораживание,холодильник,морозильник,морозилка,быстро,новый способ,раздел-идеи,раздел-техника,компакт-диск";
console.dir( string.replace(/раздел-.*?(\,|$)/g,"").split(","));
Ответить с цитированием
  #8 (permalink)  
Старый 26.04.2014, 23:59
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Сообщение от Sweet Посмотреть сообщение
P.S. Вариация на тему от Aetae:
.split(/,(?:раздел-.*,)*/)
Ну да, тупанул, только:
.split(/,(?:раздел-.**!*?*/!*,)*/)
а то лишнего скушает.
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 27.04.2014, 00:02
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от Aetae
только:
string.split(/,(?:раздел-.*?,)*/)
Тоже тупанул
Ответить с цитированием
  #10 (permalink)  
Старый 27.04.2014, 00:12
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Aetae
Ну да, тупанул, только:
.split(/,(?:раздел-.*?,)*/)
раздел-техника, вначале ?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение и метод test tsigel Общие вопросы Javascript 3 30.08.2013 13:47
регулярное выражение literator Ваши сайты и скрипты 1 18.08.2013 18:24
регулярное выражение leny Общие вопросы Javascript 1 24.09.2011 17:30
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
Проблема с кавычкой в регулярном выражении bandolero Общие вопросы Javascript 5 31.01.2010 11:37