Совпадение любой группы символов перед знаком строки

61
3

Я пытаюсь сопоставить любую группу символов, пока строка не сломается так: \n. Я хочу иметь доступ ко всем группам, которые были сопоставлены.

Текст, который я использую для поиска моего регулярного выражения, выглядит так:

foo foo!\n *bar bar*\n *foo :* foo bar\n*foo :* 32 foo bar\n*Bar :* 37 foo foo\n*Time :* 11:00:00-14:00:00\n*Date :* 2016-12-23\n*Foo :* \n*bar* : 06XXXXXXXX

На данный момент я пробовал несколько решений, и лучшим рабочим является это регулярное выражение:

/([^\\n])\w+/

но это все еще не идеально. Он не учитывает особые символы и пробелы.

спросил(а) 2021-01-19T20:52:38+03:00 2 месяца, 3 недели назад
1
Решение
62

Для этого нужно совместить хотя бы один символ (+), который не является новой (\n):

s = 'foo foo!\n *bar bar*\n *foo :* foo bar\n*foo :* 32 foo bar\n*Bar :* 37 foo foo\n*Time :* 11:00:00-14:00:00\n*Date :* 2016-12-23\n*Foo :* \n*bar* : 06XXXXXXXX'

console.log(s.match(/([^\n]+)/g))

ответил(а) 2021-01-19T20:52:38+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема