जाँच करें और आप विभिन्न यूनिकोड न्यू लाइन/linefeed कॉम्बो के साथ संबंध होने की जरूरत नहीं होगी। यदि सही तरीके से कार्यान्वित किया गया है, तो आप \R
का उपयोग करके पारदर्शी रूप से सभी विभिन्न एसीआईआई या यूनिकोड लाइन अंतराल से मेल खा सकते हैं।
यूनिकोड में आप (OS/390 लाइन समाप्त होने \ X85) NEL
का पता लगाने की जरूरत है LS
(रेखा विभाजक, \ x2028) और PS
(पैराग्राफ़ विभाजक, \ x2029) यदि आप इन दिनों पूरी तरह से पार मंच होना चाहता हूँ।
यह बहस का मुद्दा है रास, नेल, और पी एस पंक्ति विराम, लाइन अंत या व्हाइट स्पेस के रूप में व्यवहार किया जाना चाहिए या नहीं। एक्सएमएल 1.0 मानक, उदाहरण के लिए, does not recognize एनईएल लाइन ब्रेक कैरेक्टर के रूप में। ईसीएमएस्क्रिप्ट LS
और PS
लाइन ब्रेक के रूप में व्यवहार करता है लेकिन NEL
व्हाइटस्पेस के रूप में। Perl unicode regexs ^
और $
regex मेटा वर्ण के प्रयोजन के लिए पंक्ति विराम के रूप में VT
, FF
, CR
, CRLF
, NEL
, LS
और PS
व्यवहार करेगा।
Unicode Implementation Guide (सेक्शन 5.8 और तालिका 5.3) शायद "न्यूलाइन" के निश्चित उपचार के बारे में सबसे अच्छा शर्त है।
आप केवल DOS/Windows/यूनिक्स/मैक क्लासिक वेरिएंट के साथ ascii साथ में चिंतित हैं, \R
करने के लिए regex बराबर (?>\r\n|[\r\n])
यूनिकोड में है, \R
के बराबर (?>\r\n|\n|\x0b|\f|\r|\x85|\x2028|\x2029)
\x0b
है में वहाँ एक ऊर्ध्वाधर टैब; एक बार फिर, यह लाइन लाइन ब्रेक की परिभाषा के अनुरूप हो सकता है या नहीं, लेकिन यह यूनिकोड इम्प्लांटेशन की सिफारिश से मेल खाता है। (FF
, या \x0C
रेगेक्स में शामिल नहीं है क्योंकि फॉर्म फीड एक नया पृष्ठ है, परिभाषा में एक नई पंक्ति नहीं है।)
आप पुराने मैक शैली पंक्ति विराम की परवाह करते हैं ('\ r'), या केवल यूनिक्स और विंडोज के बारे में (' \ n' और '\ r \ n')? –
क्रॉस प्लेटफॉर्म न्यूलाइन अक्षरों से मिलान करने के लिए नियमित अभिव्यक्ति का संभावित डुप्लिकेट] (http://stackoverflow.com/questions/1331815/regular-expression-to-match-cross-platform-newline-characters) – Amarghosh