匹配换行符前的任意一组字符

Match any group of characters before a line break sign

我正在尝试匹配任何一组字符,直到出现这样的换行符:\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+/

但它仍然不完美。它不考虑特殊字符或空格。

您需要匹配至少一个 (+) 字符,即 not 换行符 (\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))