TRE (computing)
टी. आर. ई. पाठ में पैटर्न मिलान के लिए एक मुक्त स्रोत पुस्तकालय है, जो अनुमानित स्ट्रिंग मिलान करने की क्षमता के साथ एक नियमित अभिव्यक्ति इंजन की तरह काम करता है। इसे विले लॉरीकारी द्वारा विकसित किया गया था और इसे 2-खंड बीएसडी जैसे लाइसेंस के तहत वितरित किया गया है। पुस्तकालय सी में लिखा गया है और ऐसे कार्य प्रदान करता है जो इनपुट पाठ पंक्तियों पर खोज के लिए नियमित अभिव्यक्तियों का उपयोग करने की अनुमति देते हैं। अन्य नियमित अभिव्यक्ति इंजनों से मुख्य अंतर यह है कि टी. आर. ई. एक अनुमानित तरीके से पाठ के टुकड़ों का मिलान कर सकता है, अर्थात, यह मानते हुए कि पाठ में कुछ संख्या में टाइपो हो सकते हैं। विशेषताएँ टी. आर. ई. अनुमानित तरीके से पूर्ववर्ती टुकड़े का मिलान करने के लिए "दिशाओं" को जोड़ने के साथ विस्तारित नियमित अभिव्यक्ति वाक्यविन्यास का उपयोग करता है। इस तरह के प्रत्येक निर्देश निर्दिष्ट करते हैं कि इस टुकड़े के लिए कितने टाइपो की अनुमति है। अनुमानित मिलान लेवेनस्टीन दूरी के समान तरीके से किया जाता है, जिसका अर्थ है कि तीन प्रकार के टाइपो 'मान्यता प्राप्त' होते हैंः टी. आर. ई. स्वतंत्र रूप से तीन टाइपो प्रकारों में से प्रत्येक के लिए लागत निर्दिष्ट करने की अनुमति देता है। यह परियोजना एक कमांड-लाइन उपयोगिता के साथ आती है, जो एग्गप का पुनः कार्यान्वयन है। हालांकि अनुमानित मिलान के लिए कुछ वाक्यविन्यास विस्तार की आवश्यकता होती है, जब इस सुविधा का उपयोग नहीं किया जाता है, तो टी. आर. ई. अधिकांश अन्य नियमित अभिव्यक्ति मिलान इंजनों की तरह काम करता है। इसका मतलब है कि यह सख्त मिलान के लिए लिखे गए सामान्य नियमित अभिव्यक्तियों को लागू करता है; पोसिक्स-शैली के नियमित अभिव्यक्तियों से परिचित प्रोग्रामरों को टी. आर. ई. का उपयोग करने में सक्षम होने के लिए अधिक अध्ययन करने की आवश्यकता नहीं है। अनुमानित समय और स्मृति की खपत पुस्तकालय के लेखक का कहना है कि मिलान के लिए खर्च किया गया समय इनपुट पाठ की लंबाई बढ़ने के साथ रैखिक रूप से बढ़ता है, जबकि मिलान के दौरान स्मृति की आवश्यकता स्थिर होती है और केवल पैटर्न पर इनपुट पर निर्भर नहीं होती है। अधिकांश नियमित अभिव्यक्ति इंजनों के लिए सामान्य अन्य विशेषताओं को रेजेक्स इंजन तुलना तालिकाओं में या इसके वेब-पेज पर टी. आर. ई. सुविधाओं की सूची में देखा जा सकता है। उपयोग का उदाहरण अनुमानित मिलान दिशाएँ घुंघराले कोष्ठकों में निर्दिष्ट की जाती हैं और दोहराए जाने वाले परिमापकों से अलग होनी चाहिए (संभवतः कोष्ठक खोलने के बाद एक स्थान डालने के साथ): (नियमित) {~ 1} \s + (अभिव्यक्ति) {~ 2} वाक्यांश "नियमित अभिव्यक्ति" के रूपों से मेल खाएगा जिसमें "नियमित" में एक से अधिक टाइपो नहीं होता है और "अभिव्यक्ति" दो से अधिक नहीं होती है; जैसा कि सामान्य नियमित अभिव्यक्तियों में "का अर्थ है एक या अधिक स्थान वर्ण यानी एक या अधिक स्थान वर्ण। अगर टाइपो की कुल लागत 11 से कम है, तो रोगुलर एक्सप्रेशन टेस्ट पास करेगा; (एक्सप्रेशन) {5i + 3d + 2s <11} शब्द "एक्सप्रेशन" से मेल खाएगा, जबकि सम्मिलन लागत 5 पर सेट की गई है, 3 को हटाने और 2-यानी वर्ण के प्रतिस्थापन के लिए। 10 की लागत देता है। सी के अलावा, टी. आर. ई. पर्ल, पायथन और हास्केल के लिए बाइंडिंग के माध्यम से उपयोग करने योग्य है। यह आर में डिफ़ॉल्ट नियमित अभिव्यक्ति इंजन है, हालांकि यदि परियोजना क्रॉस-प्लेटफ़ॉर्म होनी चाहिए, तो प्रत्येक लक्षित प्लेटफ़ॉर्म के लिए आवश्यक अलग इंटरफेस होगा। नुकसान चूंकि अन्य नियमित अभिव्यक्ति इंजन आमतौर पर अनुमानित मिलान क्षमता प्रदान नहीं करते हैं, इसलिए लगभग कोई समवर्ती कार्यान्वयन नहीं है जिसके साथ टी. आर. ई. की तुलना की जा सके। हालांकि कुछ चीजें हैं जो प्रोग्रामर भविष्य के रिलीज में लागू होते देखना चाहते हैंः मिलान किए गए पाठ के टुकड़ों को प्रतिस्थापित करने के लिए एक प्रतिस्थापन तंत्र (जैसे सेड स्ट्रिंग प्रोसेसर और नियमित अभिव्यक्तियों के कई आधुनिक कार्यान्वयन, जिसमें पर्ल या जावा में निर्मित शामिल हैं); बेहतर टाइपो मूल्य मूल्यांकन (उदाहरण के लिए साउंडएक्स) के लिए एक और अनुमानित मिलान एल्गोरिदम (लेवेंस्टीन की तुलना में) का उपयोग करने का अवसर, या कम से कम इस एल्गोरिदम को "स्वैप" प्रकार के टाइपो की अनुमति देने के लिए सुधार किया जाना चाहिए (डेमेरो-लेवेंस्टीन दूरी देखें)। यह भी देखें कि लेवेंस्टीन ऑटोमेटन नियमित अभिव्यक्ति इंजनों की तुलना एग्रीप संदर्भ बाहरी लिंक टी. आर. ई.-मुक्त और पोर्टेबल अनुमानित नियमित अभिव्यक्ति मिलान पुस्तकालय आगे पढ़ने के लिए कंप्यूटर पुस्तकालय बीएसडी लाइसेंस का उपयोग करते हुए नियमित अभिव्यक्ति सॉफ्टवेयर