Regexp не выбирает 1 символ
Регулярное выражение: /[^ ][\S \r\n]*[^ ]/ не выбирает символ если он был один в строке.
Регулярное выражение удовлетворяет потребностям. но по какой то причине не выбирает 1 символ или букву или цифру.
const reg = /[^ ][\S \r\n]*[^ ]/
console.log("Name".match(reg))
console.log(" Name sss".match(reg))
console.log(" 777 777 Name sss".match(reg))
console.log(" 7".match(reg))
// Это не показывается а должно :
console.log(" s".match(reg), "s") // s
console.log(" s ".match(reg), "s") // s
Пример:
q - не выберет а должен
q - не выберет а должен
q q выберет учасаток q q
Задача regexp получить масив содержащий отфильтрованную строку в индексе 0
Буду благодарен за помощь!
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
Должно /\S+(?:\s*\S+)*/ подойти. Т.е. берется непробельная последовательность и к ней неограниченное число раз может дописываться пробельно-непробельная последовательность.
const reg = /\S+(?:\s*\S+)*/
console.log("Name".match(reg))
console.log(" Name sss".match(reg))
console.log(" 777 777 Name sss".match(reg))
console.log(" 7".match(reg))
// Это не показывается а должно :
console.log(" s".match(reg), "s") // s
console.log(" s ".match(reg), "s") // s