2012-09-05 33 views
23

क्या कोई अच्छा कारण है कि आज हमें इसकी कमी क्यों है, और यदि हां, तो क्या यह एक हल करने योग्य है? या यह उन चीजों में से एक है जो पेश किए जाने पर पिछड़े संगतता को तोड़ देगा?क्या जेएस-रेगेक्स कभी दिखेंगे?

+1

जे एस पहले से ही अग्रदर्शी का समर्थन करता है, है ना? यह पूछना क्यों कि यह समर्थन नहीं करता * देखो * अभी भी दिलचस्प है। –

+0

बदल गया मैं बस देखो के बारे में होना चाहिए। – haxxerz

+0

हालांकि, मैं वास्तव में जानना चाहता हूं। – haxxerz

उत्तर

19

मुझे इस मुद्दे के बारे में 2010 से mailing-list thread मिला।

जाहिर है, जब एक्मास्क्रिप्ट 3 विकसित किया जा रहा था, तो उन्होंने regexp सुविधाओं के लिए पर्ल पर देखा। वाल्डेमर Horwat क्यों लुक-पीछे नहीं जोड़ा गया था कि मानक में के बारे में लिखा है:

ES3 कल्पना किस समय पर स्थिर था पर आधारित था। पर्ल regexp में अन्य संरचनाओं के साथ प्रयोग कर रहा था, लेकिन वहां कुछ मंथन था, और मैं उन सुविधाओं के लिए नहीं जाना चाहता था जो अभी भी प्रवाह में थे।

धागा में बाद में, मार्क हार्टर इस सुविधा को जोड़ने के लिए a proposal बनाया।

बाकी चर्चा प्रस्ताव के विशेष विवरण के बारे में थी; के खिलाफ किसी भी कारण से मानक में कोई भी कारण नहीं था।

दुर्भाग्य से, चर्चा बिना किसी संकल्प के समाप्त हुई। EcmaScript सद्भाव विकी पर पृष्ठ है, लेकिन यह सब प्रस्ताव और मेलिंग-सूची थ्रेड से लिंक है।

तो ऐसा लगता है कि के खिलाफ कोई चमकदार कारण नहीं हैं जावास्क्रिप्ट regexps के लिए कार्यक्षमता देखें। मुझे लगता है डेवलपर्स और भाषा डिजाइनरों दूर बड़े परिवर्तन वे ES 6.

के लिए योजना बना रहे हैं से विचलित कर रहे हैं मैं आपका सबसे अच्छा विकल्प लगता है - हालांकि, वहाँ भी या तो कोई और अधिक गतिविधि की ओर उन्हें जोड़ने हो रहा है अब पर विषय को ऊपर लाने के लिए मेल-सूची पर चर्चा करना होगा। मुझे विशेष रूप से की नीतियों की जानकारी नहीं है, लेकिन मुझे संदेह है कि लोग कम से कम इसके बारे में बात कर रहे होंगे; शायद कोई भी अगले मानक में समर्थन देखने के लिए की ओर भी काम करेगा।

+0

वाह, महान जवाब! धन्यवाद। क्या बड़े बदलाव, विशेष रूप से, वे किस तरह से जुड़े हुए हैं? मुझे एहसास है कि बड़े बदलाव आ रहे हैं, मैंने उन में से किसी को वास्तव में कभी नहीं समझा, जहां मैंने उन्हें देखा है। – haxxerz

+1

मुझे पूरी तरह से यकीन नहीं है - मैं पिछले साल या अब के लिए जावास्क्रिप्ट से हिरण चरागाहों से दूर जा रहा हूं। मुझे कुछ दिलचस्प फीचर्स जैसे पायथन-शैली जनरेटर, प्रॉक्सी, वैकल्पिक ब्रांड्स, नया लैम्ब्डा सिंटैक्स ('#', मुझे लगता है) और शायद अन्य चीजों का एक गुच्छा भी याद है। उस ने कहा, मुझे याद नहीं है कि कौन सी चीजें वास्तविक प्रस्ताव थीं और जो सिर्फ ब्लॉग पोस्ट की इच्छा थी: पी। [विकी] (http://wiki.ecmascript.org/doku.php) यह देखने के लिए एक पूर्ण और काफी सुलभ संसाधन है कि मानकीकरण लोग क्या विचार कर रहे हैं। –

+1

['es-चर्चा' मेलिंग सूची] (https://mail.mozilla.org/pipermail/es-discuss/) की खोज प्रतीत नहीं होती है। तो मुझे आश्चर्य है कि किसी ने उस विषय को फिर से बताया क्योंकि टिखोन ने सुझाव दिया था। @ हक्सक्सरज़: क्या आपने कभी वहां कुछ पोस्ट किया था? –

0

ES6 Spec अब अंतिम रूप दिया गया है (जून 2015) और ऐसा लगता है कि यह दुर्भाग्यवश नहीं हुआ! :(

+0

में कुछ गंभीर आंदोलन है जो वास्तव में शर्म की बात है! – zumek

2

मैं उस समय के आसपास नहीं था, इसलिए मुझे नहीं पता कि मूल रूप से क्यों नहीं देखा गया था, लेकिन यहां कुछ पोस्ट-ईएस 6 गतिविधि रही है। मैंने फ़्लेच के लिए नेट-स्टाइल लुकइंड के कार्यान्वयन को लिखा , जो डार्ट का कार्यान्वयन है (जैसे डार्ट 2 जे और डार्टवीएम) में जेएस-संगत रेगेक्स हैं।

यह वी 8 को एक प्रयोगात्मक सुविधा के रूप में पोर्ट किया गया था, और वी 8 पोर्ट को बदले में फ़ायरफ़ॉक्स पर भेज दिया गया था। वी 8 में आप सक्रिय करते हैं यह - harmony-regexp-lookbehind ध्वज के साथ। लिखने के समय इसे सक्रिय करने के लिए कोई यूआई नहीं है।

आप https://dartpad.dartlang.org/8feea83c01ab767acdf1 पर फ़्लेच कार्यान्वयन के संस्करण के साथ खेल सकते हैं और आप कोशिश कर सकते हैं।जे एस में अनुमति भी lookbehinds में काम regexps सभी सुविधाओं, जैसे * और +,: http://www.regexplanet.com/advanced/dotnet/index.html

पर्ल और अजगर और अधिकांश अन्य regexp इंजन के विपरीत पर नेट शैली lookbehind, इस lookbehind का एक अप्रतिबंधित कार्यान्वयन है? और {}, देखो-अंदर-देखो-दिखने और देखो-आगे-अंदर-दिखने वाला। मुझे आशा है कि किसी को इसे मानकीकृत करने में मदद के लिए पाया जा सकता है। यदि, एक वर्ष में, ईसीएमएस्क्रिप्ट में अभी भी कोई समर्थन नहीं है, तो शायद कारण यह है कि मानक में अध्याय लिखने के लिए कोई भी नहीं पाया जा सकता है।

+0

आपको डार्ट कार्यान्वयन कहां से मिला? – refi64

+0

मैंने डार्टिनो (जिसे पहले फ्लेच नाम दिया गया) में डार्ट-भाषा रीगेक्सपी कार्यान्वयन लिखा था, और मैंने लुकबीथ समर्थन भी लिखा था। –

+0

आपको गिटहब या कुछ को केवल रेगेक्स कोड अपलोड करना चाहिए। डार्ट रेगेक्स में हर किसी के आगे समर्थन देखने के लिए आश्चर्यजनक होगा! – refi64

4

लुकबेइंड्स (साथ ही नामित कैप्चर समूह) proposed to be added to ECMAScript हैं।

वर्तमान में इसके लिए एक विनिर्देशन ड्राफ्ट है, टीसी 3 9 समूह उस प्रस्ताव पर सकारात्मक और Chrome has already implemented it (ध्वज के पीछे) और Firefox may follow soon पर सकारात्मक प्रतीत होता है। request to uplift the proposal to the next stage भी है।