সঠিক অভিব্যক্তি কি? একটি নিয়মিত অভিব্যক্তি হল কিছু নির্দিষ্ট অক্ষর যা আগে থেকে সংজ্ঞায়িত করা হয়েছে এবং এই নির্দিষ্ট অক্ষরগুলির সংমিশ্রণগুলি একটি স্ট্রিং স্ট্রিং তৈরি করে যা স্ট্রিংয়ের জন্য একটি ফিল্টারিং লজিক প্রকাশ করে।
给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
可以通过正则表达式,从字符串中获取我们想要的特定部分。
Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor, Regextor.

একটি নিয়মিত এক্সপ্রেশন শুধুমাত্র সাধারণ টেক্সট ধারণ করতে পারে, যা এই টেক্সটটির সাথে সঠিকভাবে মেলে। উদাহরণস্বরূপঃ
বৈধ অভিব্যক্তিঃsong
“এখনো পর্যন্ত, আমি মনে করি, আমরা সবাই একসাথে কাজ করছি।
মিলনের ফলাফলঃ xiaosongge,xiaoSongge
রুলার এক্সপ্রেশন ডিফল্টরূপে বড় এবং ছোট হাতের অক্ষরকে আলাদা করে, তাই song “Song” এর সাথে মেলে না। তবে বেশিরভাগ রুলার এক্সপ্রেশন বাস্তবায়ন একটি বিকল্প প্রদান করে যা বড় এবং ছোট হাতের অক্ষরকে আলাদা করে না।
. একটি অবাঞ্ছিত অক্ষরের সাথে মেলে, যেমনঃ
সঠিক অভিব্যক্তিঃ c.t
অনুবাদঃ cat cet caaat dog অনুবাদঃ cat cet caaat dog
মিলিত ফলাফলঃcat cet caaat dog
বিশ্লেষণঃ c.t এমন একটি স্ট্রিং মেলায় যা “c” দিয়ে শুরু হয়, “t” দিয়ে শেষ হয়, এবং তার মাঝখানে কোন অক্ষর থাকে।
একইভাবে, একাধিক ধারাবাহিক. একাধিক ধারাবাহিক অক্ষরের সাথে মিলিত হতে পারেঃ
বৈধ অভিব্যক্তিঃ c..t
অনুবাদঃ cat cet caat dog
ফলাফলঃ cat cet caat dog
. একটি বিশেষ অক্ষর যা একটি নিয়মিত অভিব্যক্তিতে একটি বিশেষ অর্থ ধারণ করে। .\ একটি বিশেষ অক্ষর যা বিশেষ অক্ষরগুলির জন্য অনুবাদযোগ্য। . যদি আপনি একটি বাস্তব “ . ” অক্ষরের সাথে মিলিত হতে চান তবে এটির আগে “ . ” অক্ষরটি সংযুক্ত করতে হবে।.. “ অক্ষরটি প্রকৃত অক্ষরকে নির্দেশ করে।
সঠিক অভিব্যক্তিঃ c.t
মেলে ধরার অপেক্ষায় টেক্সট: cat c.t dog
ফলাফলঃ catc.t dog
দ্রষ্টব্যঃ যেহেতু “\” একটি বিশেষ অক্ষর, তাই একটি সত্যিকারের “\” অক্ষরের সাথে মিলিত হতে দুটি বিপরীত ক্যারেক্টার ব্যবহার করা প্রয়োজন\:
সঠিক অভিব্যক্তিঃ c\t
মেলে যাওয়া টেক্সটঃ cat c\t dog
ফলাফলঃ catc\t dog
উপরে বলা হয়েছে, আমি যেকোন অক্ষরের সাথে মেলে ধরতে পারি, কিন্তু যদি আমি কিছু নির্দিষ্ট অক্ষরের সাথে মেলে ধরতে চাই?[এবং [মূখ্য অক্ষর ]
সঠিক অভিব্যক্তিঃ c[ab]t
মেলে ধরার জন্য অপেক্ষা করুন পাঠ্যঃ cat cbt cet
মিলিত ফলাফলঃcat cbt cet
বিশ্লেষণঃ[ab] “a” বা “b” এর সাথে মিলবে। সুতরাং c[ab]t “cat” এবং “cbt” এর সাথে মিলবে কিন্তু “cet” এর সাথে মিলবে না।
উপরের উদাহরণে, যদি আমি সেট এর সাথে মিলে যেতে চাই,[[এটা কি আরো একটা? তাহলে আমি যদি কোন ছোট হাতের অক্ষরের সাথে মিলে যেতে চাই, তাহলে কি আমি কয়েক ডজন ছোট হাতের অক্ষর লিখতে পারি? এটা সম্ভব, কিন্তু এটা অনেক লম্বা। এখানে আমরা ব্যবহার করতে পারি[a-z]:
সঠিক অভিব্যক্তিঃ c[a-z]t
cat cbt czt c2t এর সাথে মিলিত হতে অপেক্ষা করুন
মিলিত ফলাফলঃcat cbt czt c2t
বিশ্লেষণঃ c[a-z]t হল “c” দিয়ে শুরু, “t” দিয়ে শেষ এবং “a” থেকে “z” পর্যন্ত যেকোনো একটি অক্ষর।
অন্য একটি অনুচ্ছেদে বলা হয়েছে:
[0-9] এবং[0123456789] এর মতই কাজ করবে। [A-F] A থেকে F পর্যন্ত বড় হাতের অক্ষরের সাথে মেলে। [A-Z] A থেকে Z পর্যন্ত সমস্ত বড় হাতের অক্ষরের সাথে মিলিত হবে। [a-z] সব a থেকে z পর্যন্ত ছোট হাতের অক্ষরের সাথে মেলে [A-z] ASCII A থেকে ASCII z পর্যন্ত সমস্ত অক্ষরের সাথে মেলে।[এবং ^ ইত্যাদি) [A-Za-z0-9] সমস্ত ছোট হাতের অক্ষর এবং সংখ্যা মেলায়।
অক্ষর সেট সাধারণত এমন একটি সেট নির্দিষ্ট করতে ব্যবহৃত হয় যার সাথে মিলিত হওয়া দরকার। তবে কখনও কখনও আপনি এমন একটি সেট বাদ দিতে চান যা আপনি মিলিত হতে চান না। এটি অক্ষর সেটকে অস্বীকার করে করা যেতে পারে। উদাহরণস্বরূপঃ
সঠিক অভিব্যক্তিঃ c[^a-z]t
cat cbt czt c2t cAt টেক্সট মেলানোর জন্য অপেক্ষা করুন
ফলাফলঃ cat cbt cztc2t cAt
বিশ্লেষণঃ এটি পূর্বের উদাহরণের সম্পূর্ণ বিপরীত।[a-z] সব ছোট হাতের অক্ষরের সাথে মিলবে, যখন [^a-z] সমস্ত অক্ষরের সাথে মেলে যা ছোট হাতের অক্ষর নয়।
মনে রাখবেন, ^ অক্ষরটি অক্ষর সেটের সমস্ত অক্ষরকে অপসারণ করে।
আমরা আগেও বলেছি যে, মৌলিক অক্ষরের একটি বিশেষ অর্থ আছে, যেমন,[এবং] এই অক্ষরগুলি সরাসরি তাদের নিজস্ব অর্থ প্রকাশ করতে পারে না, উদাহরণস্বরূপ, সরাসরি ব্যবহার করা যাবে না[মিলছে”[“অনুগ্রহপূর্বক, ব্যবহার করুন.
সমস্ত মেটা অক্ষরগুলির সামনে একটি বিপরীত ক্যারেক্টার রেফারেন্স যুক্ত করা যেতে পারে, যখন রেফারেন্স করা হয়, অক্ষরটি তার বিশেষ অর্থের পরিবর্তে নিজের সাথে মেলে। উদাহরণস্বরূপ,[মিলবে”[ “:
সঠিক অভিব্যক্তিঃ a[b
টেক্সট মেলানোর জন্য অপেক্ষা করুনঃ a[b ab a[[b
মিলিত ফলাফলঃa[b ab a[[b
দ্রষ্টব্যঃ\ একটি রূপান্তরিত ক্যারেক্টার হিসাবে ব্যবহৃত হয়, যার অর্থ এটিও একটি ক্যারেক্টার। সুতরাং যদি সত্যিকারের “\” এর সাথে মেলে তবে এটি ব্যবহার করা যেতে পারে।\:
সঠিক অভিব্যক্তিঃ a\b
টেক্সট মেলানোর জন্য অপেক্ষা করুনঃ a\b a\b a[[b
মিলিত ফলাফলঃ a\b a\b a[[b
মাঝে মাঝে আপনাকে এমন খালি অক্ষরগুলির সাথে মেলে ধরতে হবে যেগুলি লেখা থেকে মুদ্রণ করা যায় না। উদাহরণস্বরূপ, আপনি সমস্ত ট্যাব অক্ষর বা সমস্ত লাইন পরিবর্তনকারী খুঁজে পেতে চান। আপনি নিম্নলিখিত টেবিলের বিশেষ মেটা অক্ষরগুলি ব্যবহার করতে পারেনঃ

উদাহরণস্বরূপ, \r\n একটি রাইড-টু-রাইড প্যাকেজের সাথে মিলবে, উইন্ডোজে একটি ফাইলের রাইড-টু-রাইড উপস্থাপন করবে। লিনাক্স এবং ইউনিক্স সিস্টেমে, কেবলমাত্র \n ব্যবহার করা প্রয়োজন।
কিছু বিশেষ মেটা অক্ষর আছে যেগুলো ব্যবহার করা যায় সাধারণ অক্ষরের সাথে মিলিয়ে। এই মেটা অক্ষরগুলোকে বলা হয় মেলানো অক্ষর শ্রেণী। আপনি এগুলি ব্যবহার করে অনেক সুবিধা পাবেন।
মিলিত সংখ্যা বা অ-সংখ্যা “এটা আমার জন্য অনেক কষ্টের ব্যাপার।[0-9] সবগুলো সংখ্যা মিলতে পারে। যদি কোন সংখ্যা মিলতে না চায়, তাহলে ব্যবহার করতে পারেন[^0-9]。 নিম্নলিখিত সারণিটি সংখ্যা এবং অ-সংখ্যা শ্রেণিবদ্ধ অক্ষরগুলির একটি তালিকা প্রদান করেঃ

সঠিক অভিব্যক্তিঃ c\dt
টেক্সট মেলেঃ cat c2t czt c9t
ফলাফলঃ catc2t czt c9t
নিয়মিত অভিব্যক্তিঃ c\Dt
টেক্সট মেলেঃ cat c2t czt c9t
মিলিত ফলাফলঃcat c2t czt c9t
অক্ষর এবং অক্ষর মেলে
আরেকটি সাধারণ ক্লাসিক মেটা ক্যারেক্টার হল\w এবং\W:

নিয়মিত অভিব্যক্তিঃ c\wt
টেক্সট মেলানোর জন্য অপেক্ষা করুনঃ cat c2t czt c-t c\t
মিলিত ফলাফলঃcat c2t c-t c\t
সঠিক অভিব্যক্তিঃ c\Wt
টেক্সট মেলানোর জন্য অপেক্ষা করুনঃ cat c2t c-t c\t
ফলাফলঃ cat c2tc-t c\t
খালি এবং অ-খালি মেলান
শেষ যে মেলে তা হল ফাঁকা ক্লাসঃ

সঠিক অভিব্যক্তিঃ c\st
টেক্সট মেলানোর জন্য অপেক্ষা করুনঃ cat c t c2t c\t
ফলাফলঃ catc t c2t c\t
সঠিক অভিব্যক্তিঃ c\St
টেক্সট মেলানোর জন্য অপেক্ষা করুনঃ cat c t c2t c\t
মিলিত ফলাফলঃcat c t c2t c\t
আনুষ্ঠানিক অভিব্যক্তিঃ cat
মেলে ধরার জন্য অপেক্ষা করুন
ফলাফলঃ ctcat caat caaat
সঠিক অভিব্যক্তি: ca+t
মেলে ধরার জন্য অপেক্ষা করুন
ফলাফলঃ ctcat caat caaat
যখন চরিত্রের সেটে + ব্যবহার করা হয়, তখন + চিহ্নটি সেটের বাইরে রাখা প্রয়োজনঃ
সঠিক অভিব্যক্তিঃ c[0-9]+t
টেক্সট মেলেঃ ct c0t cat c123t
ফলাফলঃ ctc0t cat c123t
বিশ্লেষণঃ c[0-9]+t হল একটি স্ট্রিং যা “c” দিয়ে শুরু হয়, “t” দিয়ে শেষ হয় এবং এর মাঝখানে এক বা একাধিক সংখ্যা থাকে।
অবশ্যই।[০-৯+] একটি বৈধ রুলার এক্সপ্রেশন, কিন্তু এটি “০” - “৯” এবং “+” চিহ্ন সহ অক্ষরের একটি সেট নির্দেশ করে।
সাধারণভাবে, . এবং + ইত্যাদির মতো মেটা অক্ষরগুলি যখন অক্ষর সংগ্রহের জন্য ব্যবহৃত হয় তখন আক্ষরিক অর্থ হিসাবে ব্যবহৃত হয়, তাই কোনও অনুবাদ প্রয়োজন হয় না। তবে এটি অনুবাদ করাও ঠিক আছে, তাই,[0-9+] এবং[0-9+] একই কাজ করে।
দ্রষ্টব্যঃ + একটি মেটা ক্যারেক্টার, এবং “+” এর সাথে মিলিত হওয়ার জন্য অনুবাদ প্রয়োজন+。
আপনি যদি শূন্য বা তার বেশি অক্ষর চান, আপনি এটি ব্যবহার করতে পারেন*মূল অক্ষর
সঠিক অভিব্যক্তি: ca*t
মেলে যাওয়া টেক্সটঃ ct cat caat cbt
মিলিত ফলাফলঃct cat caat cbt
বিজ্ঞপ্তি:প্রতীকটি একটি মেটা অক্ষর। “” এর সাথে মিলিত হওয়ার জন্য, এটিকে সংজ্ঞায়িত করতে হবে।*。
? শূন্য বা এক অক্ষরের সাথে মিলিত হয় তাই, ? একটি টেক্সট-এ একটি পছন্দসই অক্ষরের সাথে মিলিত হওয়ার জন্য উপযুক্ত
বৈধ অভিব্যক্তি: ca?t
মেলে যাওয়া টেক্সটঃ ct cat caat cbt
মিলিত ফলাফলঃct cat caat cbt
দ্রষ্টব্যঃ ? চিহ্নটি মূল অক্ষর। “?” এর সাথে মিলিত হওয়ার জন্য, এটিকে অনুবাদ করতে হবে।?。
নিয়মকানুনের অভিব্যক্তিগুলি মিলের সংখ্যা নির্দিষ্ট করার অনুমতি দেয়। সংখ্যাটি { এবং } এর মধ্যে নির্দিষ্ট করা যেতে পারে। নোটঃ { এবং}ও একটি স্ট্রিং ক্যারেক্টার, যা আক্ষরিক অর্থে ব্যবহার করার সময় অনুবাদ করা প্রয়োজন।
সঠিক সংখ্যার মিল মেলার সংখ্যা নির্ধারণ করতে, আপনি { এবং } এর মধ্যে একটি সংখ্যা লিখতে পারেন। উদাহরণস্বরূপ, { 3 } পূর্ববর্তী 3 টি অক্ষর বা সেটগুলির সাথে মিলবেঃ
সঠিক অভিব্যক্তিঃ ca{3}t
মেটানোর জন্য অপেক্ষা করুন
ফলাফলঃ ct catcaaat cbt
কমপক্ষে মিল
উদাহরণস্বরূপ, {2,} মানে ২ বার বা তার বেশি মিলঃ
রুলার এক্সপ্রেশন: ca{1,}t
মেটানোর জন্য অপেক্ষা করুন
ফলাফলঃ ctcat caaat cbt
ডাইমেনশনাল ব্যাসার্ধ মিল
উদাহরণস্বরূপ, {2,3} মানে কমপক্ষে ২ বার এবং সর্বোচ্চ ৩ বার মিলিত হওয়া।
রুলার এক্সপ্রেশন: ca{2,3}t
মেটানোর জন্য অপেক্ষা করুন
ফলাফলঃ ct catcaaat cbt
সুতরাং? এবং {0,1} এর ফাংশন একই, + এবং {1,} এর ফাংশন একই।
নিচের উদাহরণগুলো দেখুনঃ
বৈধ অভিব্যক্তিঃ s.*g Xiao Song Xiao Song এর অনুবাদ ম্যাচ ফলাফলঃ xiao song xiao song বিশ্লেষণঃ s.*g দুটি “গান” মিলিয়ে না, বরং প্রথম “s” এবং শেষ “g” এর মধ্যে থাকা সমস্ত টেক্সট মিলিয়ে দেয়।
কারণ*এবং + হল greedy matches. অর্থাৎ, regular expressions সর্বদা সর্বাধিক মিল খুঁজে পায়, ক্ষুদ্রতম নয়, যা ইচ্ছাকৃতভাবে ডিজাইন করা হয়েছে।
কিন্তু আপনি যদি লোভী মিল না চান, তাহলে এই ক্রিয়াগুলির অ-লোভী মিল ব্যবহার করুন (যতটা সম্ভব কম সংখ্যক অক্ষর মিলিয়ে নিন) । অ-লোভী ক্রিয়াটি ক্রিয়াটির পরে যোগ করা হয়ঃ

*হ্যাঁ?এবং এটি একটি অ-লুন্ঠন সংস্করণ, তাই এটি ব্যবহার করা যেতে পারে## উপরের উদাহরণটি সংশোধন করতেঃ
বৈধ অভিব্যক্তিঃ s.?g
Xiao Song Xiao Song এর অনুবাদ
মিলনের পর ফলাফলঃ xiaosong xiao song
বিশ্লেষণঃ s দেখা যাচ্ছে‘গ’ এর সাথে দুটি ‘গান’ মিলছে।
স্ট্রিংয়ের সীমানা মেটা ক্যারেক্টারগুলির সাথে মিলিত হয়^ এবং $, যথাক্রমে স্ট্রিংয়ের শুরু এবং শেষের জন্য ব্যবহৃত হয়।
↑ নিম্নরূপঃ
বৈধ অভিব্যক্তিঃ^xiao
অনুরাগী চয়নঃ xiaoosong
মিলিত ফলাফলঃxiaosong
এই ছবির সাথে মিলিতঃ axiaosong ফলাফল অনুযায়ীঃ axiaosong বিশ্লেষণঃ ^xiao “xiao” দিয়ে শুরু হওয়া স্ট্রিংগুলির সাথে মিলিত হয়েছে।
$ এর ব্যবহার নিম্নরূপঃ
সঠিক প্রকাশনাঃ song$
অনুরাগী চয়নঃ xiaoosong
মিলনের ফলাফলঃ xiaosong
এই নিবন্ধটি XiaoSonga থেকে অনুবাদ করা হয়েছে। জিয়োসঙ্গা বিশ্লেষণঃ song$ “song” দিয়ে শেষ হওয়া স্ট্রিংয়ের সাথে মিলিত হয়েছে।
শেয়ার করুনঃ
সঠিক এক্সপ্রেশন: ^[0-9a-zA-Z]{4,}$
টেক্সট মেলানো হচ্ছেঃ a1b234ABC
মিলিত ফলাফলঃa1b234ABC
টেক্সট মেলানো হচ্ছেঃ + a1b23=4ABC মিলনের পর ফলাফলঃ + a1b23=4ABC বিশ্লেষণঃ[0-9a-zA-Z]{4,}$ সংখ্যা বা অক্ষরের সাথে মিলে যায় এবং অঙ্কটি চারটি অঙ্কের সমান একটি স্ট্রিংয়ের চেয়ে বড়।
দ্রষ্টব্যঃ^ যদি সেটটির শুরুতে থাকে, তবে তা নেগেটিভ; যদি সেটটির বাইরে থাকে, তবে স্ট্রিংটির শুরুতে মিলবে।[^0-9] এবং ^[০-৯] এর পার্থক্য
কিন্তু {{?m}} একাধিক লাইন মোড সক্ষম করতে পারে। একাধিক লাইন মোডে, রুলার এক্সপ্রেশন ইঞ্জিনটি স্ট্রিংয়ের বিভাজক হিসাবে প্রতিস্থাপক চিহ্নটি ব্যবহার করে, ^ পাঠ্যের শুরুতে বা একটি লাইনের শুরুতে, এবং $ পাঠ্যের শেষ বা একটি লাইনের শেষে মিলিত হতে পারে।
পূর্ববর্তী উদাহরণটি সংশোধন করুনঃ
সঠিক এক্সপ্রেশনঃ ((? m) ^[0-9a-zA-Z]{4,}$
টেক্সট মেলানো হচ্ছেঃ a1b234ABC +a1b23=4ABC ABC123456
মিলিত ফলাফলঃa1b234ABC
+a1b23=4ABC
ABC123456
বিশ্লেষণঃ[0-9a-zA-Z]{4,}$ প্রত্যেকটি লাইনকে এমন একটি স্ট্রিংয়ের সাথে মিলিয়ে দেখাবে যেটি অক্ষর বা সংখ্যার সমতুল্য এবং যার অঙ্কটি চারটি অঙ্কের সমান।
দ্রষ্টব্যঃ যদি বহু-রেখা মোড ব্যবহার করা হয়, তাহলে ((?m) অবশ্যই নিয়মিত অভিব্যক্তির শুরুতে স্থাপন করতে হবে। (? m) বেশিরভাগ রুলার এক্সপ্রেশন বাস্তবায়নে সমর্থিত নয়। কিছু রুলার এক্সপ্রেশন বাস্তবায়নগুলি \A ম্যাচিং স্ট্রিংয়ের শুরু এবং \Z ম্যাচিং স্ট্রিংয়ের সমাপ্তি সমর্থন করে। যদি সমর্থিত হয়, তবে এই মেটা অক্ষরগুলির ফাংশন ^, $ হিসাবে একই রকম। তবে এই মেটা অক্ষরগুলি ((? m) সংশোধন ব্যবহার করতে পারে না, তাই এটি মাল্টি-রাইম মোডেও ব্যবহার করা যাবে না।
আইওএস_অসিও সানগো থেকে পুনর্নির্দেশিত