PHP regexes के आस-पास के डिलीमीटर क्यों हैं? ऐसा प्रतीत होता है कि यदि कोई पैटर्न संशोधक किसी भी फ़ंक्शन का उपयोग किया जा रहा था, तो पैरामीटर के रूप में पारित किया गया था।PHP रेगेक्स डेलीमीटर, बिंदु क्या है?
उत्तर
कोई तकनीकी कारण नहीं है कि ऐसा क्यों होना चाहिए।
जैसा कि एक टिप्पणी में कहा गया है, अंतर्निहित लाइब्रेरी को रेगेक्स के हिस्से के रूप में फ़्लैग को पारित करने की आवश्यकता नहीं है - वास्तव में, विस्तार को इन्हें अलग करना होगा और उन्हें एक अलग तर्क के रूप में पास करना होगा।
ऐसा लगता है कि मूल कार्यान्वयनकर्ता इसे grep/sed/awk/perl/आदि जैसा दिखने की कोशिश कर रहा था ताकि यह उन उपकरणों से आने वाले प्रोग्रामर से अधिक परिचित हो।
डिलीमीटर के कारण पैटर्न के बाद झंडे डालना है। तर्कसंगत रूप से झंडे को एक अलग पैरामीटर के रूप में पारित किया जा सकता है (जावा इसे इस तरह से कर सकता है) लेकिन जिस तरह से पर्ल ने इसे मूल रूप से (और इससे पहले/sed/awk/vi) किया था, इस तरह यह अब किया गया है।
आगे की कमी का उपयोग न करें: वे बहुत आम हैं। व्यक्तिगत रूप से मैं लगभग हमेशा उपयोग करते हैं! चरित्र। मैं शायद ही कभी इसके लिए देख रहा हूँ।
नोट: जावा उदाहरण के लिए बहु-पंक्ति के लिए अपनी शुरुआत (? एम) पर regexp के भीतर झंडे भी शामिल कर सकता है। (एस) डॉटल के लिए, (? एमएस) दोनों के लिए, और इसी तरह। – VonC
@ वॉनसी, तो पाइथन कर सकते हैं। –
तो पर्ल, पीसीआरई, और यहां तक कि PHP के preg फ़ंक्शन भी कर सकते हैं। लेकिन preg कार्यों में कुछ अतिरिक्त झंडे हैं जिन्हें केवल रेगेक्स के बाद निर्दिष्ट किया जा सकता है। –
मुझे नहीं पता कि प्रीग फ़ंक्शंस के डेवलपर्स के उद्देश्य क्या थे। एकमात्र कारण यह है कि मैं सोच सकता हूं कि उन्होंने पर्ल तरीके से काम करने के लिए थोड़ा मुश्किल प्रयास किया।
जबकि delimiters रेगेक्स के साथ एक पैरामीटर के रूप में निर्दिष्ट किए जाने के लिए झंडे को अनुमति देते हैं, झंडे को एक अलग पैरामीटर के रूप में निर्दिष्ट करना बहुत साफ है। इस तरह प्रत्येक अन्य नियमित अभिव्यक्ति लाइब्रेरी (उन भाषाओं के लिए जो भाषा की विशेषता के रूप में शाब्दिक regexes का समर्थन नहीं करते हैं) मुझे पता है कि पीसीआरई लाइब्रेरी सहित, PHP के preg फ़ंक्शंस पर आधारित हैं। प्रीग कोड को वास्तव में पीसीईई को पारित करने से पहले अपने रेगेक्स के साथ स्ट्रिंग से रेगेक्स डिलीमीटर को हटाने की परेशानी होनी चाहिए।
- 1. PHP में इंटरफेस का बिंदु क्या है?
- 2. डेलीमीटर
- 3. दशमलव डेलीमीटर
- 4. रेगेक्स अंकों और एक बिंदु को
- 5. पाइथन डेलीमीटर
- 6. एक डेलीमीटर
- 7. निरंतर डेलीमीटर
- 8. PHP रेगेक्स ग्लोब()
- 9. PHP रेगेक्स क्रैशिंग अपाचे
- 10. रेगेक्स: क्या (?! ...) मतलब है?
- 11. PHP रेगेक्स: "ऑफ़सेट 0 पर कक्षा" क्या है?
- 12. "डेलीमीटर", "टर्मिनेटर," और "विभाजक"
- 13. PHP रेगेक्स कोई भी कैरेक्टर
- 14. _MERGE_PROXYSTUB का बिंदु क्या है?
- 15. एचटीएमएल डीटीडी - बिंदु क्या है?
- 16. System.IO.dll का बिंदु क्या है?
- 17. Html.DisplayTextFor() का बिंदु क्या है?
- 18. document.defaultView का बिंदु क्या है?
- 19. ग्रहण का बिंदु क्या है?
- 20. + [एनएसएसटींग स्ट्रिंगविथस्ट्रिंग:] - बिंदु क्या है?
- 21. make_heap का बिंदु क्या है?
- 22. हैश मैप.containsValue - बिंदु क्या है?
- 23. DOCTYPE का बिंदु क्या है?
- 24. MySQL डेलीमीटर वाक्यविन्यास त्रुटि
- 25. PHP रेगेक्स - मान्य फ्लोट नंबर
- 26. जावा रेगेक्स में चरित्र वर्ग चौराहे के पीछे बिंदु क्या है?
- 27. स्कैला पार्सर टोकन डेलीमीटर समस्या
- 28. PHP फ्लोट गणना 2 दशमलव बिंदु
- 29. कोहाना में इस निरंतरता का क्या बिंदु है?
- 30. DICOM: SOPInstanceUID टैग का बिंदु क्या है?
पीसीआरई आसपास के डिलीमीटरों को बिल्कुल अनुमति नहीं देता है। PHP preg फ़ंक्शंस उन्हें पीसीआरई लाइब्रेरी में पास करने से पहले उन्हें बंद कर देता है। –
वाह, तो यह सभी सरासर कोशिश-टू-बी-पर्ल है? मैं वर्षों से वाक्यविन्यास क्षमा कर रहा था, लेकिन अब मैं वास्तव में इसे नफरत करने के लिए स्वतंत्र हूं। धन्यवाद! – Cal
यह उत्तर व्यक्तिगत राय के लिए ठीक है, लेकिन यह सही नहीं है। – dreftymac