PHP-তে রেগুলার এক্সপ্রেশনে সেটের ভিতরে ক্যারেট চিহ্ন

আপনি জানেন যে, []-এর ভিতরে ক্যারেট বন্ধনীর শুরুতে লেখা হলে এটি নেগেশন করে। এর মানে, এটি এই বন্ধনীর ভিতরে একটি বিশেষ চিহ্ন। ক্যারেটকে একটি চিহ্ন হিসাবে পেতে, আপনাকে এটি এস্কেপ করতে হবে বা প্রথম স্থান থেকে সরাতে হবে।

উদাহরণ

নিম্নলিখিত উদাহরণে অনুসন্ধানের প্যাটার্নটি হল: প্রথম চরিত্রটি 'd' ব্যতীত সবকিছু, তারপর দুটি 'x' অক্ষর।

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[^d]xx#', '!', $str);
?>

ফলস্বরূপ ভেরিয়েবলে নিম্নলিখিতটি লেখা হবে:

php'! ! ! dxx'

উদাহরণ

এবং এখন অনুসন্ধানের প্যাটার্নটি হল: প্রথম চরিত্রটি হল 'd' বা '^', তারপর দুটি 'x' অক্ষর:

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[d^]xx#', '!', $str);
?>

ফলস্বরূপ ভেরিয়েবলে নিম্নলিখিতটি লেখা হবে:

php'axx bxx ! !'

উদাহরণ

ক্যারেটকে প্রথম স্থান থেকে সরানোর প্রয়োজন নেই, বরং ব্যাকস্ল্যাশ ব্যবহার করে এটিকে এস্কেপ করা যেতে পারে, এবং তখন এটি নিজেকে বোঝাবে:

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[\^d]xx#', '!', $str);
?>

ফলস্বরূপ ভেরিয়েবলে নিম্নলিখিতটি লেখা হবে:

php'axx bxx ! !'

ব্যবহারিক কাজ

Задание 1

একটি স্ট্রিং দেওয়া হয়েছে:

php<?php
  $str = '^xx axx ^zz bkk @ss';
?>

একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি প্যাটার্ন অনুসারে খুঁজে পাবে: ক্যারেট বা অ্যাট চিহ্ন, এবং তারপর দুটি ল্যাটিন অক্ষর।

Задание 2

একটি স্ট্রিং দেওয়া হয়েছে:

php<?php
  $str = '^xx axx ^zz bkk @ss';
?>

একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি প্যাটার্ন অনুসারে খুঁজে পাবে: ক্যারেট নয় এবং অ্যাট চিহ্ন নয়, এবং তারপর দুটি ল্যাটিন অক্ষর।

Задание 3

একটি স্ট্রিং দেওয়া হয়েছে:

php<?php
  $str = '^xx axx ^zz bkk';
?>

একটি রেগুলার এক্সপ্রেশন লিখুন যা স্ট্রিংগুলি প্যাটার্ন অনুসারে খুঁজে পাবে: ক্যারেট নয়, এবং তারপর দুটি ল্যাটিন অক্ষর।