मैंने this question देखा है, और मुझे अनुभव से पता है कि हर भाषा regex की एक अलग बोली का समर्थन करने के लिए प्रतीत होता है। मुझे लगता है कि समस्या लंबे समय से आसपास रही है, इसलिए कोई इसके बारे में कुछ करना चाहता था।मैं विभिन्न प्रोग्रामिंग भाषाओं में एक ही नियमित अभिव्यक्ति का उपयोग कैसे कर सकता हूं?
मेरे पास एक बहुत बड़ी परियोजना है जिसमें जावास्क्रिप्ट, रूबी और जावा शामिल हैं, और उनमें से सभी को एक ही नियमित अभिव्यक्ति को छूना है। हमने जावा को हमारे "आधिकारिक" आरई दुभाषिया के रूप में चुना है, जिसका अर्थ है कि किसी भी समय अन्य दो भाषाओं को आरई का मूल्यांकन करने की आवश्यकता होती है, उन्हें किसी भी तरह से जावा प्रोग्राम में पास करना पड़ता है, और यह बहुत सारे ओवरहेड में जोड़ना शुरू कर देता है।
यदि मैं किसी भी आरई बोली को चुन सकता हूं और कम से कम अर्ध-मूल रूप से सभी भाषाओं से यह कह सकता हूं, तो यह हमारे लिए एक बड़ा कदम होगा। क्या यह संभव है? क्या यह पहले से ही किया जा रहा है? हमने पीसीआरई को देखा, और यह तकनीकी रूप से जावा और रूबी (हालांकि यह ठंड में जेएस को छोड़ देता है) के मूल बाइंडिंग के माध्यम से इसे आमंत्रित करने के लिए संभव है, लेकिन मुझे वास्तव में कोई भी ऐसा नहीं मिला है। क्या हम अकेले हैं?
ईटीए: एक झुर्री मैंने उल्लेख नहीं किया है कि यह सिस्टम उपयोगकर्ता regex प्रदान करता है। (हाँ, मैं समझता हूं कि यह security issue इत्यादि है, लेकिन यह विश्वसनीय, जिम्मेदार उपयोगकर्ताओं द्वारा घर के उपयोग के लिए है।) मैं निश्चित रूप से सुझाव दे सकता हूं कि "ऐसा न करें" शक्ति-सुविधाओं से बचने के लिए, लेकिन मुझे उम्मीद है कि यह सबसे अच्छा समाधान नहीं है।
आह, उपयोगकर्ता द्वारा आपूर्ति की गई नियमित अभिव्यक्तियां। मुझे पता था कि हम कुछ खो रहे थे;) – BoltClock
(मैं बस स्टॉपगैप पोस्ट करना चाहता था जिसे हम किसी भी परवाह करते हैं, अगर हम परवाह करते हैं तो मैं घायल हो जाता हूं। हालांकि, मुझे अभी भी कुछ बेहतर सुनना अच्छा लगेगा।) हमने जावा रेगेक्स को चुना। हम रूबी कोड से इन्हें मूल रूप से चला सकते हैं, बशर्ते रूबी जेआरबी में चलती है। हमारे उद्देश्यों के लिए, यह काफी अच्छा है। हमने एक जावा सर्वलेट भी लिखा जो मूल रूप से एक परीक्षण सेवा के खिलाफ एक रेगेक्स चलाता है। यह जावास्क्रिप्ट अंत का ख्याल रखता है, बेशक यह सुंदर नहीं है: -/ – Coderer