PHP তে নিয়মিত এক্সপ্রেশনে 'বা' কমান্ড
এই পাঠে আমরা | কমান্ডটি নিয়ে আলোচনা করব, যা
[] কমান্ডের তুলনায় একটি আরও শক্তিশালী
OR বিকল্প। এই কমান্ডটি রেগুলার এক্সপ্রেশনকে
কয়েকটি অংশে ভাগ করতে দেয়।
এই ক্ষেত্রে, অনুসন্ধান করা বিষয়টি এক অংশের
রেগুলার এক্সপ্রেশনের সাথে মিলতে পারে, বা অন্য অংশের সাথে মিলতে পারে। আসুন উদাহরণ দিয়ে দেখি।
উদাহরণ
এই উদাহরণে, অনুসন্ধানের প্যাটার্নটি হল: তিনটি
'a' অক্ষর বা তিনটি 'b' অক্ষর:
<?php
$str = 'aaa bbb abb';
$res = preg_replace('#a{3}|b{3}#', '!', $str);
?>
ফলস্বরূপ, নিম্নলিখিতটি ভেরিয়েবলে লেখা হবে:
'! ! abb'
উদাহরণ
এই উদাহরণে, অনুসন্ধানের প্যাটার্নটি হল: তিনটি
'a' অক্ষর বা 1 বা তার বেশি
'b' অক্ষর:
<?php
$str = 'aaa bbb bbbb bbbbb axx';
$res = preg_replace('#a{3}|b+#', '!', $str);
?>
ফলস্বরূপ, নিম্নলিখিতটি ভেরিয়েবলে লেখা হবে:
'! ! ! ! axx'
উদাহরণ
এই উদাহরণে, অনুসন্ধানের প্যাটার্নটি হল: একটি বা তার বেশি অক্ষর বা তিনটি সংখ্যা:
<?php
$str = 'a ab abc 1 12 123';
$res = preg_replace('#[a-z]+|\d{3}#', '!', $str);
?>
ফলস্বরূপ, নিম্নলিখিতটি ভেরিয়েবলে লেখা হবে:
'! ! ! 1 12 !'
উদাহরণ
উল্লম্ব বার রেগুলার এক্সপ্রেশনকে শুধুমাত্র দুটি অংশে নয়, যেকোনো সংখ্যক অংশে ভাগ করতে পারে:
<?php
$str = 'aaa bbb ccc ddd';
$res = preg_replace('#a+|b+|c+#', '!', $str);
?>
ফলস্বরূপ, নিম্নলিখিতটি ভেরিয়েবলে লেখা হবে:
'! ! ! ddd'
উদাহরণ
যদি উল্লম্ব বার বন্ধনীর ভিতরে থাকে,
তবে 'বা' শুধুমাত্র সেই বন্ধনীর ভিতরে কাজ করে।
উদাহরণস্বরূপ, আসুন নিম্নলিখিত প্যাটার্ন অনুসারে স্ট্রিংগুলি খুঁজে বের করি: শুরুতে
'a', বা 'b' এক বা একাধিক বার
থাকে, এবং তার পরে দুটি 'x' অক্ষর থাকে:
<?php
$str = 'axx bxx bbxx exx';
$res = preg_replace('#(a|b+)xx#', '!', $str);
?>
ফলস্বরূপ, নিম্নলিখিতটি ভেরিয়েবলে লেখা হবে:
'! ! ! exx'
ব্যবহারিক সমস্যা
একটি স্ট্রিং দেওয়া হয়েছে:
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি
খুঁজে পাবে নিম্নলিখিত প্যাটার্ন অনুসারে: প্রান্তে 'a' অক্ষর থাকে,
এবং তাদের মধ্যে - হয় 'e' অক্ষর যেকোনো সংখ্যক
বার বা 'x' অক্ষর যেকোনো সংখ্যক বার।
একটি স্ট্রিং দেওয়া হয়েছে:
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি
খুঁজে পাবে নিম্নলিখিত প্যাটার্ন অনুসারে: প্রান্তে 'a' অক্ষর থাকে,
এবং তাদের মধ্যে - হয় 'e' অক্ষর দুই বার
বা 'x' অক্ষর যেকোনো সংখ্যক বার।