यह TR1 proposal द्वारा कवर किया गया है। मैं संक्षेप में प्रयास करने की कोशिश करूंगा।
यह अपने आप को हड़ताल करने के बजाय मौजूदा मानक पर निर्माण करने के लिए समझदार प्रतीत होता था।
दो मौजूदा मानकों पर वे निर्माण कर सकते थे पहचान की गई: POSIX RES और ECMAScript REs। पर्ल आरईएस को छोड़ दिया गया क्योंकि वे मानकीकृत नहीं हैं। (कौन से उचित लोग असहमत हो सकते हैं।) इसके अलावा, ईसीएमएस्क्रिप्ट आरई को पर्ल आरईएस के एक सरल सबसेट के रूप में देखा गया था जो सबसे उपयोगी (या शायद सबसे अधिक इस्तेमाल) सुविधाओं को शामिल करता है।
दो में से, पॉसिक्स आरईएस '"सबसे लंबा सबसे लंबा" कार्यान्वयन गैर-लालची दोहराने जैसी महत्वपूर्ण विशेषताओं के साथ अच्छी तरह से नहीं खेला गया था, और इस बात के बावजूद कि अधिकांश आरई इंजन इन दिनों कैसे काम करते हैं।
दूसरी ओर, ईसीएमएस्क्रिप्ट आरई में पॉज़िक्स आरईएस के स्थानीयकरण समर्थन की कमी थी। इसलिए, उन्होंने POSIX-RE-style स्थानीयकरण समर्थन को शामिल करने के लिए ईसीएमएस्क्रिप्ट आरई बढ़ाया।
पॉज़िक्स आरई समर्थन वैकल्पिक के रूप में शामिल किया गया था क्योंकि यह व्यवहार ईसीएमएस्क्रिप्ट आरईएस से काफी अलग है ताकि इसे मानक विकल्प माना जा सके। POSIX मानक दो व्याकरण के साथ आता है: मूल और विस्तारित। अजीब, grep, और egrep आरईएस वास्तव में अलग व्याकरण के बजाय बुनियादी या विस्तारित POSIX व्याकरण के लिए बस मामूली विविधताएं हैं।
तो: दो मानक, तीन व्याकरण, छह भिन्नताएं।
स्रोत
2015-05-29 17:53:15
क्योंकि यह सिर्फ * वह * कमाल है? –
पर्ल नियमित अभिव्यक्ति ftw! –
याद रखें, नियमित अभिव्यक्ति भाषाएं सभी समान हैं। मुझे यकीन है कि उनके पीछे इंजन पार्सर में कुछ मामूली बदलावों के साथ समान है। – Gabe