ऐसा लगता है कि रेगेक्स /\r\n|\r|\n/
सीआर, एलएफ, और सीआरएलएफ लाइन एंडिंग्स, उनके मिश्रित अनुक्रमों को संभालता है, और सभी खाली लाइनों को इनबेटीइन रखता है। उसकी कोशिश करो!
function splitLines(t) { return t.split(/\r\n|\r|\n/); }
// single newlines
splitLines("AAA\rBBB\nCCC\r\nDDD");
// double newlines
splitLines("EEE\r\rFFF\n\nGGG\r\n\r\nHHH");
// mixed sequences
splitLines("III\n\r\nJJJ\r\r\nKKK\r\n\nLLL\r\n\rMMM");
परिणामस्वरूप आपको ये सरणियाँ मिलनी चाहिए:
[ "AAA", "BBB", "CCC", "DDD" ]
[ "EEE", "", "FFF", "", "GGG", "", "HHH" ]
[ "III", "", "JJJ", "", "KKK", "", "LLL", "", "MMM" ]
आप यह भी सिखा सकते हैं कि regex अन्य कानूनी यूनिकोड लाइन टर्मिनेटरों को जोड़कर |\xHH
या |\uHHHH
भागों को पहचानने के लिए , जहां H
अतिरिक्त टर्मिनेटर वर्ण कोडपॉइंट के हेक्साडेसिमल अंक हैं (जैसा कि विकिपीडिया लेख में देखा गया है U+HHHH
)।