2013-04-29 43 views
2

我需要拆分字符串\.\s,但将.附加到数组元素。JavaScript拆分倒序

以这个字符串作为一个测试,Lorem Ipusm. Excepteur sint occaecat.我需要的输出数组是:

[0] => Lorem Ipsum. 
[1] => Excepteur sint occaecat. 

如何看.依然保存完好?

我相信我需要一个lookbehind正则表达式,因为/\.(?=\s)*/不起作用,而.结束在它后面的每句话的开头。

+0

你在找这个? http://stackoverflow.com/questions/4514144/js-string-split-without-removing-the-delimiters – AlessandroEmm 2013-04-29 12:43:35

+0

是的,我做了,但我有一个无效的捕获组,或什么? – James 2013-04-29 12:43:38

+0

可能重复的[Javascript和正则表达式:拆分字符串并保留分隔符](http://stackoverflow.com/questions/12001953/javascript-and-regex-split-string-and-keep-the-separator) – mplungjan 2013-04-29 12:44:22

回答

3

试试这个:

var s = "Lorem Ipsum. Excepteur sint occaecat.", 
    parts = s.match(/(.+?\.(?:\s|$))/g); 
    // ["Lorem Ipsum. ", "Excepteur sint occaecat."] 
+0

请注意数组中第一个结果的末尾处的空格 - 但它很容易处理。 – nhahtdh 2013-04-29 12:45:22