জাভা রেজেক্স - নিয়মিত এক্সপ্রেশন কী কী এবং এটি কীভাবে ব্যবহার করবেন?



জাভা রেইজেক্স এমন একটি এপিআই যা ব্যবহার করে স্ট্রিংগুলি অনুসন্ধান বা পরিচালনা করার জন্য একটি প্যাটার্ন সংজ্ঞায়িত করতে ব্যবহৃত হয়। এই নিবন্ধটি জাভা দ্বারা সরবরাহিত নিয়মিত প্রকাশের বিভিন্ন শ্রেণীর বিষয়েও কথা বলবে।

ডেটা এক্সট্রাকশন বা বৈধতা প্রতিটি প্রোগ্রামিং ভাষার একটি গুরুত্বপূর্ণ দিক। ডেটা বৈধতার জন্য অন্যতম জনপ্রিয় উপায় হ'ল নিয়মিত এক্সপ্রেশন ব্যবহার করে। এগুলি ব্যবহার করেঅক্ষরের একটি নিদর্শন বর্ণনা করার জন্য নিয়মিত অভিব্যক্তি। এই নিবন্ধটি জাভা রেজেক্স নিম্নলিখিত ক্রমের সাথে এক্সপ্রেশন ব্যবহার করার বিভিন্ন পদ্ধতি তালিকাভুক্ত করবে:

চল শুরু করি!





নিয়মিত এক্সপ্রেশন কি কি?

প্রতি নিয়মিত এক্সপ্রেশন অক্ষরগুলির ক্রম যা অনুসন্ধানের ধরণটি তৈরি করে। আপনি যখন কোনও পাঠ্যে ডেটা অনুসন্ধান করেন, আপনি যা অনুসন্ধান করছেন তা বর্ণনা করতে আপনি এই অনুসন্ধানের প্যাটার্নটি ব্যবহার করতে পারেন।

নিয়মিত এক্সপ্রেশন - জাভা রেজেক্স - এডুরেকা



একটি নিয়মিত প্রকাশ হতে পারে a একক চরিত্র বা আরও জটিল প্যাটার্ন। এটি যে কোনও প্রকারের পাঠ্য অনুসন্ধান এবং পাঠ্য প্রতিস্থাপনের ক্রিয়াকলাপগুলির জন্য ব্যবহার করা যেতে পারে। একটি রেজেক্স প্যাটার্নে সরল অক্ষর থাকে, যেমন / এবিসি / , বা সাধারণ এবং বিশেষ অক্ষরের সংমিশ্রণ, যেমন / আব * সি / বা /example(d+).d*/

জাভা রেজেক্স কী?

দ্য জাভা রেজেক্স এটি একটি এপিআই যা ব্যবহৃত হয় অনুসন্ধান বা হেরফের জন্য একটি প্যাটার্ন সংজ্ঞায়িত করুন । এটি স্ট্রিংয়ের প্রতিবন্ধকতা যেমন পাসওয়ার্ড এবং ইমেল বৈধতার সংজ্ঞা দিতে ব্যাপকভাবে ব্যবহৃত হয়।

জাভা রেজেক্স ব্যবহারের বিভিন্ন পদ্ধতি রয়েছে। সুতরাং আসুন এগিয়ে আসা যাক এবং বিভিন্ন অভিব্যক্তি তাকান।



ম্যাচার ক্লাস

এই শ্রেণিটি একটি অক্ষর অনুসারে ম্যাচ ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয়। টেবিলের নীচে ম্যাচার ক্লাসের বিভিন্ন পদ্ধতি উপস্থাপন করে।

পদ্ধতি বর্ণনা
বুলিয়ান ম্যাচ () প্রদত্ত নিয়মিত প্রকাশটি প্যাটার্নের সাথে মেলে কিনা তা পরীক্ষা করে
বুলিয়ান সন্ধান () পরের অভিব্যক্তিটি প্যাটার্নের সাথে মেলে খুঁজে পেতে ব্যবহৃত
বুলিয়ান ফাইন্ড (ইন স্টার্ট) প্রদত্ত শুরুর নম্বর থেকে প্যাটার্নের সাথে মেলে পরবর্তী অভিব্যক্তি অনুসন্ধান করে
স্ট্রিং গ্রুপ () মিলে যাওয়া উপসর্গটি ফেরত দিতে ব্যবহৃত হত
ইন স্টার্ট () মিলে যাওয়া সাবকোয়েন্সের সূচনা সূচকটি প্রদান করে
পূর্ব শেষ () মিলে যাওয়া সাবকোয়েন্সের সমাপ্তি সূচকটি প্রদান করে
ইন গ্রুপ গ্রুপ () মিলে যাওয়া অনুচ্ছেদের মোট সংখ্যা প্রদান করে Return

প্যাটার্ন ক্লাস

প্যাটার্ন ক্লাসটি নিয়মিত প্রকাশের সংকলিত সংস্করণ যা রেজেক্স ইঞ্জিনের জন্য প্যাটার্নটি সংজ্ঞায়িত করতে ব্যবহৃত হয়।

পদ্ধতি বর্ণনা
স্ট্যাটিক প্যাটার্ন সংকলন (স্ট্রিং রেজেক্স) এটি প্রদত্ত রেজেক্স সংকলন করে এবং প্যাটার্নের উদাহরণটি দেয় returns
ম্যাচ মেলে (চার সিক্যুয়েন্স ইনপুট) এটি এমন ম্যাচার তৈরি করতে ব্যবহৃত হয় যা প্রদত্ত ইনপুটটিকে প্যাটার্নের সাথে মেলে
স্ট্যাটিক বুলিয়ান ম্যাচ (স্ট্রিং রেজেক্স, চার সিক্যুয়েন্স ইনপুট) এটি সংকলন এবং ম্যাচার পদ্ধতিগুলির সংমিশ্রণ হিসাবে কাজ করে। এটি নিয়মিত ভাবটি সংকলন করে এবং প্রদত্ত ইনপুটটির সাথে প্যাটার্নটির সাথে মেলে
স্ট্রিং [] বিভাজন (চারসেকুয়েন্স ইনপুট) প্রদত্ত প্যাটার্নের ম্যাচের চারপাশে প্রদত্ত ইনপুট স্ট্রিংকে বিভক্ত করতে ব্যবহৃত হয়
স্ট্রিং প্যাটার্ন () রেজেক্স প্যাটার্নটি ফিরে আসতে সহায়তা করে

নিয়মিত প্রকাশ কীভাবে লিখতে হয় তা বুঝতে এখন একটি ছোট উদাহরণ নেওয়া যাক।

আমদানি করুন java.util.regex। * পাবলিক ক্লাসের RegexExample {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {প্যাটার্ন প্যাটার্ন = Pattern.compile ('। xx।') ম্যাচার ম্যাচার = প্যাটার্ন.ম্যাচার ('এএক্সএক্সবি') System.out .প্রিন্টলন ('স্ট্রিং প্রদত্ত রেজেক্সের সাথে মেলে - + ম্যাচার। ম্যাচস ())}}

এই ক্ষেত্রে, অভ্যন্তরীণভাবে এটি প্যাটার্ন এবং ম্যাচার ব্যবহার করে প্রক্রিয়াকরণ করতে রেজেক্স ক্লাসগুলি তবে স্পষ্টতই,এটি কোড লাইন হ্রাস করে। প্যাটার্ন ক্লাসে ম্যাচগুলি পদ্ধতিও রয়েছে যা রেজেস এবং ইনপুট স্ট্রিংকে আর্গুমেন্ট হিসাবে গ্রহণ করে এবং সেগুলি মিলে যাওয়ার পরে বুলিয়ান ফলাফল দেয়। সুতরাং কোডটি ইনপুট মেলানোর জন্য সূক্ষ্মভাবে কাজ করে জাভাতে নিয়মিত প্রকাশের সাথে সুতরাং আউটপুট নীচের প্রদর্শিত হিসাবে সত্য হবে।

জাভা রূপান্তরিত তারিখ থেকে রূপান্তর

আউটপুট:
সত্য

এখন আসুন জাভা নিয়মিত এক্সপ্রেশনগুলির আরও কয়েকটি বিভাগ দেখুন।

রেজেক্স চরিত্রের ক্লাস

টেবিলের নীচে বিভিন্ন বর্ণের শ্রেণীর সমন্বয় উপস্থাপন করা হয়েছে।

ক্যারেক্টার ক্লাসবর্ণনা
[এবিসি] ক, খ, বা সি (সাধারণ শ্রেণি)
[^ এবিসি] ক, খ বা সি ব্যতীত যে কোনও চরিত্র (অবহেলা)
[a-zA-Z] একটি মাধ্যমে জেড বা এ মাধ্যমে জেড, সমেত (পরিসীমা)
[এ-ডি [এম-পি]] a থু ডি, বা মি মাধ্যমে পি: [a-dm-p] (ইউনিয়ন)
[a-z && [Def]] d, e, বা f (ছেদ)
[a-z && [^ বিসি]] a এর মাধ্যমে z, খ এবং গ বাদে: [বিজ্ঞাপন-জেড] (বিয়োগ)
[a-z&& [^ m-p]] একটি মাধ্যমে জেড, এবং পি মাধ্যমে মি না: [a-lq-z] (বিয়োগ)

উদাহরণ:

আমদানি করুন java.util.regex। * সার্বজনীন বর্গের চরিত্রের উদাহরণ {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) false // মিথ্যা (এক্স বা y বা z নয়) System.out.println (প্যাটার্ন.ম্যাচস ('[xyz]', 'ডাব্লুবিসিডি')) // সত্য (x বা y বা z এর মধ্যে) System.out.println (প্যাটার্ন.ম্যাচস ('[xyz]', 'এক্স')) // মিথ্যা (x এবং y একাধিকবার আসে) সিস্টেম .out.println (প্যাটার্ন.ম্যাচস ('[xyz]', 'xxyyyyyz'))}

রেজেক্স কোয়ান্টিফায়ার্স

কোয়ান্টিফায়ারগুলি কোনও চরিত্রের সংঘটনগুলির সংখ্যা নির্দিষ্ট করে। টেবিলের নীচে বিভিন্ন পরিমাণের প্রতিনিধিত্ব করে।

রেজেক্সবর্ণনা
এক্স? এক্স একবার হয় বা না একবার ঘটে
এক্স + এক্স একবার বা একাধিকবার ঘটে
এক্স * এক্স শূন্য বা তার বেশি বার ঘটে
এক্স {n এক্স শুধুমাত্র n বার ঘটে
এক্স {n, এক্স n বা তার বেশি বার ঘটে
এক্স এবং জেড এক্স কমপক্ষে y বার ঘটে তবে z বারের চেয়ে কম হয়

উদাহরণ:

আমদানি java.util.regex। * সর্বজনীন শ্রেণীর উদাহরণ Example পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) {System.out.println ('? কোয়ান্টিফায়ার ....') // (a বা y বা z এক সময় আসে) System.out.println (প্যাটার্ন.ম্যাচস ('[আইজ]?', 'এ')) // আউটপুট: সত্য System.out.println (প্যাটার্ন.ম্যাচস ('[আইজ]?', 'আআ' ')) / / (ay এবং z একাধিকবার আসে) System.out.println (Pattern.matches ('[ayz]?', 'ayyyyzz')) // আউটপুট: মিথ্যা // (একটি একাধিকবার আসে) সিস্টেম। out.println (প্যাটার্ন.ম্যাচস ('[আইজ]?', 'আমন্তা')) // আউটপুট: মিথ্যা // (ক বা ওয়াই বা জেড অবশ্যই একবার আসবে) System.out.println (প্যাটার্ন.ম্যাচস ('[[ ayz]? ',' আই ')) // আউটপুট: মিথ্যা System.out.println (' + কোয়ান্টিফায়ার .... ') // (a বা y বা z একবার বা একাধিকবার) System.out.println (প্যাটার্ন । ম্যাচ ('[আইজ] +', 'এ')) // আউটপুট: সত্য // (একটি একাধিকবার আসে) System.out.println (প্যাটার্ন.ম্যাচস ('[আইজ]] +', 'আআ' )) // আউটপু: সত্য // (a বা y বা z একাধিকবার আসে) System.out.println (প্যাটার্ন.ম্যাচস ([amn] + ',' আইয়াইজ ')) // আউটপুট: সত্য // (z এবং টি প্যাটার্নের সাথে মেলে না) System.out.println (প্যাট) tern.matches ('[ayz] +', 'aammta')) // আউটপুট: মিথ্যা System.out.println ('* কোয়ান্টিফায়ার ....') // (এ বা y বা z শূন্য বা আরও বেশি বার আসতে পারে) ) System.out.println (প্যাটার্ন.ম্যাচস ('[আইজ]]' ',' আইয়াইজা ')) // আউটপুট: সত্য}

মূলত, এটি ম্যাচের পরিমাণের জন্য অনুসন্ধান করবে এবং অনুসন্ধান ফলাফলের সাথে মেলে।

রেজেক্স মেটাচার্যাক্টর

নিয়মিত এক্সপ্রেশন মেটাচার্যাক্টর শর্টকোড হিসাবে কাজ করে। বিভিন্ন ধরণের মেটাচ্যাকার্টারগুলি বোঝার জন্য আসুন নীচের টেবিলটিতে একবার দেখুন।

রেজেক্সবর্ণনা
এটি কোনও চরিত্র হতে পারে (টার্মিনেটরের সাথে মেলে বা নাও পারে)
d [0-9] এর সংক্ষিপ্ত যে কোনও অঙ্কের প্রতিনিধিত্ব করে
ডি [^ 0-9] এর জন্য সংক্ষিপ্ত যে কোনও অ-অঙ্কের প্রতিনিধিত্ব করে
s [Tnx0Bfr] এর জন্য সংক্ষিপ্ত যে কোনও শ্বেতস্পেসের চরিত্রের প্রতিনিধিত্ব করে
এস এটি কোনও শ্বেতস্থান অক্ষর হতে পারে, [^ গুলি] এর জন্য সংক্ষিপ্ত
ভিতরে এটি একটি শব্দের চরিত্র হতে পারে, [a-zA-Z_0-9] এর জন্য সংক্ষিপ্ত
ভিতরে [^ ডাব্লু] এর জন্য সংক্ষিপ্ত যে কোনও শব্দহীন চরিত্রের প্রতিনিধিত্ব করে
একটি শব্দ সীমানা প্রতিনিধিত্ব করে
এটি একটি শব্দহীন সীমানা

উদাহরণ:

আমদানি করুন java.util.regex। * পাবলিক ক্লাস মেটাচারExample {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) {// ডি মানে ডিজিটাল সিস্টেম.আউট.প্রিন্টলান ('मेटाচ্যাকার্স ডি ....') // (অ-অঙ্ক) System.out.println (Pattern.matches ('d', 'abc')) // আউটপুট: মিথ্যা // (অঙ্ক এবং একবারে আসে) System.out.println (প্যাটার্ন.ম্যাচস ('ডি', '1')) ) // আউটপুট: সত্য // (ডিজিট কিন্তু একাধিকবার আসে) System.out.println (প্যাটার্ন.ম্যাচস ('ডি', '4443')) // আউটপুট: মিথ্যা // (অঙ্ক এবং চর) সিস্টেম.আউট .println (Pattern.matches ('d', '323abc')) // আউটপুট: মিথ্যা // ডি মানে নন-ডিজিট সিস্টেম.আউট.প্রিন্টলন ('মেটাচারার্স ডি ....') // (অ-অঙ্কযুক্ত তবে একাধিকবার আসে) System.out.println (Pattern.matches ('D', 'abc')) // আউটপুট: মিথ্যা // এটি একটি ডিজিট সিস্টেম.আউট.প্রিন্টলন (প্যাটার্ন.ম্যাচস ('ডি', '1 ')) // আউটপুট: মিথ্যা সিস্টেম.আউট.প্রিন্টলন (প্যাটার্ন.ম্যাচস (' ডি ',' 4443 ')) // আউটপুট: মিথ্যা // (অঙ্ক এবং চর) System.out.println (প্যাটার্ন.ম্যাচস (' ডি ',' 323 এফসি ')) // আউটপুট: মিথ্যা // (অ-সংখ্যা এবং একবারে আসে) System.out.println (প্যাটার্ন.ম্যাচস (' ডি ',' মি ')) // আউটপুট: সত্য সিস্টেম.আউট .প্র intln ('কোয়ান্টিফায়ারযুক্ত মেটাচার্যাক্টর ডি ....') // (অ-অঙ্ক এবং 0 বা তার বেশি সময় আসতে পারে) System.out.println (প্যাটার্ন.ম্যাচস ('ডি *', 'এবিসি')) // আউটপুট : সত্য}}

উপরে বর্ণিত অবস্থার উপর ভিত্তি করে, এটি আউটপুট প্রদর্শন করবে। এটি এইভাবে কাজ করে। সুতরাং, এটি ছিল বিভিন্ন ধরণের সম্পর্কে রেজেক্স। এটির সাথে আমরা এই নিবন্ধটির শেষে এসেছি। আমিআশা করি আপনি এটি তথ্যপূর্ণ পেয়েছেন। আপনি যদি আরও জানতে চান তবে আমাদের পরীক্ষা করতে পারেন যেমন.

দেখুন এডুরেকা, বিশ্বস্ত জুড়ে 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা by আমরা আপনার যাতায়াতের প্রতিটি পদক্ষেপে আপনাকে সহায়তা করতে এখানে এই জাভা সাক্ষাত্কারের প্রশ্নগুলির পাশাপাশি হয়ে উঠার জন্য আমরা একটি পাঠ্যক্রম নিয়ে এসেছি যা জাভা ডেভেলপার হতে চান এমন শিক্ষার্থী এবং পেশাদারদের জন্য তৈরি করা হয়েছে।

ডেটা বিমূর্তি সি ++

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই 'জাভা রেইজেক্স' নিবন্ধটির মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।