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