TRE (computing)
টিআরই হল পাঠ্যের প্যাটার্ন মেলানোর জন্য একটি ওপেন সোর্স লাইব্রেরি, যা আনুমানিক স্ট্রিং মেলানোর ক্ষমতা সহ একটি নিয়মিত এক্সপ্রেশন ইঞ্জিনের মতো কাজ করে। এটি ভিল লরিকারি দ্বারা তৈরি করা হয়েছিল এবং এটি 2-ধারা বিএসডি-এর মতো লাইসেন্সের অধীনে বিতরণ করা হয়। গ্রন্থাগারটি সি-তে লেখা হয় এবং এমন ফাংশন সরবরাহ করে যা ইনপুট পাঠ্য লাইনের উপর অনুসন্ধানের জন্য নিয়মিত অভিব্যক্তি ব্যবহার করার অনুমতি দেয়। অন্যান্য নিয়মিত এক্সপ্রেশন ইঞ্জিনগুলির থেকে প্রধান পার্থক্য হল যে টিআরই আনুমানিক উপায়ে পাঠ্যের টুকরোগুলির সাথে মেলে ধরতে পারে, অর্থাৎ, ধরে নেওয়া যায় যে পাঠ্যটিতে কিছু সংখ্যক টাইপো থাকতে পারে। বৈশিষ্ট্যগুলি টিআরই আনুমানিক উপায়ে পূর্ববর্তী খণ্ডের সাথে মেলানোর জন্য "দিকনির্দেশ" যোগ করার সাথে বর্ধিত নিয়মিত অভিব্যক্তি বাক্য গঠন ব্যবহার করে। এই ধরনের প্রতিটি নির্দেশ নির্দিষ্ট করে যে এই খণ্ডের জন্য কতগুলি টাইপো অনুমোদিত। আনুমানিক মিল লেভেনশটেইন দূরত্বের মতো একইভাবে সঞ্চালিত হয়, যার অর্থ হল যে তিন ধরনের টাইপো 'স্বীকৃত' রয়েছেঃ টিআরই স্বাধীনভাবে তিনটি টাইপো প্রকারের প্রত্যেকটির জন্য খরচ নির্দিষ্ট করার অনুমতি দেয়। প্রকল্পটি একটি কমান্ড-লাইন ইউটিলিটি নিয়ে আসে, যা এগ্রেপ-এর পুনর্বিন্যাস। যদিও আনুমানিক মিলনের জন্য কিছু বাক্যবিন্যাস সম্প্রসারণের প্রয়োজন হয়, যখন এই বৈশিষ্ট্যটি ব্যবহার করা হয় না, তখন টিআরই অন্যান্য নিয়মিত এক্সপ্রেশন ম্যাচিং ইঞ্জিনের মতো কাজ করে। এর মানে হল যে এটি কঠোর মিলনের জন্য লিখিত সাধারণ নিয়মিত অভিব্যক্তি প্রয়োগ করে; পোসিক্স-শৈলীর নিয়মিত অভিব্যক্তিগুলির সাথে পরিচিত প্রোগ্রামারদের টিআরই ব্যবহার করতে সক্ষম হওয়ার জন্য খুব বেশি গবেষণা করার প্রয়োজন নেই। অনুমানযোগ্য সময় এবং স্মৃতির খরচ গ্রন্থাগারের লেখক বলেছেন যে মিলনের জন্য ব্যয় করা সময় ইনপুট পাঠ্যের দৈর্ঘ্য বৃদ্ধির সাথে রৈখিকভাবে বৃদ্ধি পায়, যেখানে মিলনের সময় মেমরির প্রয়োজনীয়তা স্থির থাকে এবং ইনপুটের উপর নির্ভর করে না, শুধুমাত্র প্যাটার্নের উপর। অন্যান্য অন্যান্য বৈশিষ্ট্যগুলি, যা বেশিরভাগ নিয়মিত এক্সপ্রেশন ইঞ্জিনের জন্য প্রচলিত, রেজেক্স ইঞ্জিনের তুলনামূলক সারণিতে বা এর ওয়েব-পেজে টিআরই বৈশিষ্ট্যগুলির তালিকায় পরীক্ষা করা যেতে পারে। ব্যবহারের উদাহরণ আনুমানিক মিলনের দিকগুলি কোঁকড়া বন্ধনীতে নির্দিষ্ট করা হয় এবং পুনরাবৃত্তিমূলক পরিমাপকারী থেকে আলাদা করা উচিত (সম্ভবত বন্ধনী খোলার পরে একটি স্থান সন্নিবেশ করার সাথে): (নিয়মিত) {~ 1} \s + (অভিব্যক্তি) {~ 2} "নিয়মিত অভিব্যক্তি" বাক্যাংশের রূপগুলির সাথে মেলে যেখানে "নিয়মিত" এর একাধিক টাইপো থাকে না এবং "অভিব্যক্তি" দুটির বেশি হয় না; সাধারণ নিয়মিত অভিব্যক্তিগুলির মতো "মানে এক বা একাধিক স্থান অক্ষর অর্থাৎ। রাগুলার এক্সপ্রেশন পরীক্ষায় উত্তীর্ণ হবে; (এক্সপ্রেশন) {5i + 3d + 2s <11} শব্দটি "এক্সপ্রেশন" শব্দের সাথে মিলবে যদি টাইপোগুলির মোট খরচ 11 এর কম হয়, যখন সন্নিবেশ খরচ 5, মুছে ফেলা 3 এবং অক্ষরের প্রতিস্থাপন 2-অর্থাৎ। 10 টাকা খরচ দেয়। সি ছাড়াও, পার্ল, পাইথন এবং হাস্কেলের জন্য বাঁধার মাধ্যমে টিআরই ব্যবহারযোগ্য। এটি আর-এ ডিফল্ট নিয়মিত এক্সপ্রেশন ইঞ্জিন। তবে প্রকল্পটি যদি ক্রস-প্ল্যাটফর্ম হয়, তবে প্রতিটি লক্ষ্য প্ল্যাটফর্মের জন্য প্রয়োজনীয় পৃথক ইন্টারফেস থাকবে। অসুবিধাগুলি যেহেতু অন্যান্য নিয়মিত এক্সপ্রেশন ইঞ্জিনগুলি সাধারণত আনুমানিক মিলনের ক্ষমতা প্রদান করে না, তাই প্রায় কোনও সমবর্তী বাস্তবায়ন নেই যার সাথে টিআরই-এর তুলনা করা যেতে পারে। তবে এমন কিছু বিষয় রয়েছে যা প্রোগ্রামাররা ভবিষ্যতের প্রকাশগুলিতে বাস্তবায়িত হতে দেখতে পারেনঃ মিলে যাওয়া পাঠ্যের টুকরোগুলি প্রতিস্থাপনের জন্য একটি প্রতিস্থাপন প্রক্রিয়া (যেমন সেড স্ট্রিং প্রসেসর এবং পার্ল বা জাভাতে নির্মিত সহ নিয়মিত অভিব্যক্তির অনেক আধুনিক বাস্তবায়ন); আরও ভাল টাইপো মান মূল্যায়নের জন্য (উদাহরণস্বরূপ সাউন্ডেক্স) অন্য আনুমানিক মিলে যাওয়া অ্যালগরিদম (লেভেনশটেইনের তুলনায়) ব্যবহার করার সুযোগ, বা কমপক্ষে এই অ্যালগরিদমটি "সোয়াপ" ধরনের টাইপোগুলিকে অনুমতি দেওয়ার জন্য উন্নত করা হবে (ডেমেরাউ-লেভেনশটেইন দূরত্ব দেখুন)। আরও দেখুন লেভেনশটেন অটোমেটন নিয়মিত এক্সপ্রেশন ইঞ্জিনের তুলনা এগ্রেপ রেফারেন্স বাহ্যিক লিঙ্ক টিআরই-বিনামূল্যে এবং বহনযোগ্য আনুমানিক নিয়মিত এক্সপ্রেশন ম্যাচিং লাইব্রেরি আরও পড়া কম্পিউটার লাইব্রেরি বিএসডি লাইসেন্স ব্যবহার করে নিয়মিত এক্সপ্রেশন সফ্টওয়্যার