正则表达式将字符串拆分为任何空白字符,但要隔离任何换行符

时间:2012-11-30 10:42:39

标签: javascript regex

对我来说,这总是一个脑筋急转弯,但我根本无法自己找到它......

我想用任何空白字符BUT分割一个字符串,以隔离任何\n次出现。

例如:

输入

"Regex expressions make your life...↵easier!"

输出中:

"Regex"
"expressions"
"make"
"your"
"life..."
"↵"
"easier!"

到目前为止,我尝试过类似/s|[^\n]的内容,但事实并非如此。

有任何线索吗?

2 个答案:

答案 0 :(得分:2)

试试这个:/(\S+|\n)/g

var s = 'Regex expressions make your life...\neasier!';
s.match(/(\S+|\n)/g)

答案 1 :(得分:2)

这有效:

[^\S\n]+

Not(NOT-Whitespace或Newline)等于空白而不是换行符(DeMorgan)

如果我让你的“隔离”正确,请尝试:([^\S\n]|\n)

输入:

this is a test
regex

使preg_split:

Array
(
[0] => this
[1] => is
[2] => a
[3] => test
[4] => 
[5] => regex
)

嗯,但这与\s相同(not \n or \n是obsolet,离开^\S - 这是\s - 所以你的意思是“隔离”?