Есть строка, например, "установить ВКЛ/ВЫКЛ".
массив_строки = строка.split('/(?=\/)|\s/')
в данном случае '/' оказывается в начале следующего элемента - '/ВЫКЛ'
Какой нужен regex для того, что бы появился следующий массив: ['установить', 'ВКЛ/', 'ВЫКЛ'] ?
Ответ
(?=\/) - положительный блок просмотра вперёд, тогда как тут пригодился бы блок предварительного просмотра назад, но регулярные выражения JavaScript не поддерживают его. (?<=\/)|\s+ - так бы оно выглядело в s.split()
Можно найти все совпадения символов, отличных от пробельных и символа косой черты, за которыми может находится 1 необязательный знак косой черты:
/[^\s\/]+\/?/g
Демо регулярного выражения. Перед / обязательно наличие непробельного символа, отличного от /
console.log(
"установить ВКЛ/ВЫКЛ".match(/[^\s\/]+\/?/g)
);
Комментариев нет:
Отправить комментарий