কোলেশন উপাদানগুলি সাধারণত বাছাইয়ের প্রসঙ্গে উল্লেখ করা হয়।
অনেক ভাষায়, কোলিশেশন (অভিধানের মতো বাছাই করা) কেবল প্রতি-চরিত্রে করা হয় না। উদাহরণস্বরূপ, চেক ইন, ch
মধ্যে নয় সাজানোর করে cg
এবং ci
এটা ইংরেজিতে, কিন্তু বাছাইয়ের জন্য একটি সম্পূর্ণ হিসাবে বিবেচনা করা হয় না। এটি একটি কোলটিং উপাদান (আমরা এখানে কোনও চরিত্রকে উল্লেখ করতে পারি না, চরিত্র হ'ল উপাদানগুলির একটি উপসেট) যা এর মধ্যে h
এবং এর মধ্যে সাজানো থাকে i
।
এখন আপনি জিজ্ঞাসা করতে পারেন, নিয়মিত প্রকাশের সাথে এর কী করার আছে? , আমি কেন বন্ধনী অভিব্যক্তিতে একটি কোঁকড়া উপাদান উল্লেখ করতে চাই? ।
ভাল, বন্ধনী এক্সপ্রেশন এর ভিতরে, কেউ অর্ডার ব্যবহার করে। উদাহরণস্বরূপ [c-j]
, আপনি মধ্যে এবং মধ্যে অক্ষর চান । আচ্ছা, তাই না? আপনি বরং সেখানে উপাদানগুলি কোল্ট করতে চান। একটি চেক লোকাল ম্যাচে :c
j
[h-i]
ch
$ echo cho | LC_ALL=cs_CZ.UTF-8 grep '^[h-i]o'
cho
সুতরাং, আপনি যদি বন্ধনীর মত প্রকাশের ক্ষেত্রে অনেকগুলি সহযোগী উপাদানগুলির তালিকা করতে সক্ষম হন তবে আপনি পৃথকভাবে সেগুলিও তালিকাভুক্ত করতে সক্ষম হবেন বলে আশা করি। এবং এবং এবং অক্ষরগুলির [a-cch]
মধ্যে মিলনকারী উপাদানগুলি মিলবে । কোলাটিং উপাদান থাকতে এবং আমাদের একটি নতুন সিনট্যাক্স প্রয়োজন:a
c
c
h
a-c
ch
$ echo cho | LC_ALL=cs_CZ.UTF-8 grep '^[a-c[.ch.]]o'
cho
(মাঝে বেশী a
এবং c
এবং ch
এক)।
এখন, পৃথিবী এখনও নিখুঁত নয় এবং সম্ভবত কখনও হবে না। উপরের উদাহরণটি একটি জিএনইউ সিস্টেমে ছিল এবং কাজ করেছিল। একটি কোলাইটিং উপাদানটির আরেকটি উদাহরণ e
ইউটিএফ -8 এ সংমিশ্রণ তীব্র উচ্চারণের সাথে হতে পারে ( যেমনটি $'e\u0301'
উপস্থাপন $'\u00e9'
করা হয়েছে é
)।
one এবং é হ'ল এক চরিত্র ব্যতীত যে একটিতে একটি চরিত্রের সাথে এবং অন্যটি দুটি দিয়ে।
$ echo $'e\u301t\ue9' | grep '^[d-f]t'
কিছু সিস্টেমে সঠিকভাবে কাজ করবে তবে অন্যগুলি নয় (উদাহরণস্বরূপ জিএনইউ নয়)। এবং এটা কিনা স্পষ্ট নয় $'[[.\ue9.]]'
শুধুমাত্র সুসংগত হওয়া আবশ্যক $'\ue9'
অথবা উভয় $'\ue9'
এবং $'e\u301'
।
বর্ণমালাবিহীন স্ক্রিপ্টগুলি বা বিভিন্ন, আঞ্চলিক, বাছাই অর্ডার সহ স্ক্রিপ্টগুলি উল্লেখ না করা, ffi ( ffi
একটি চরিত্রের মধ্যে) এর মতো জিনিস যা এ জাতীয় সহজ এপিআই দিয়ে হ্যান্ডেল করার জন্য জটিল হয়ে ওঠে।
ch
হচ্ছে আসলে দুটি ভিন্ন চরিত্র; এটি কেবল বাছাইয়ের উদ্দেশ্যে বিবেচনা করা হয়। আপনি কি "ডিজিট্রাফ" একটি প্রযোজ্য শব্দ?