PHP ရှိ Regular Expression များတွင် Curly Braces အသုံးပြုခြင်း

Operator များ +, *, ? တို့သည် ကောင်းမွန်သော်လည်း၊ ၄င်းတို့ဖြင့် အကြိမ်ရေအတိအကျကို သတ်မှတ်၍မရပါ။ ထိုသို့သော အခြေအနေမျိုးတွင် operator {} က ကူညီပေးပါလိမ့်မည်။

၎င်း၏အလုပ်လုပ်ပုံမှာ အောက်ပါအတိုင်းဖြစ်သည် - {5} - ငါးကြိမ်ပြန်လည်ခြင်း၊ {2,5} - နှစ်ကြိမ်မှ ငါးကြိမ်အထိ (နှစ်ခုလုံးအပါအဝင်) ပြန်လည်ခြင်း၊ {2,} - နှစ်ကြိမ်နှင့်အထက်ပြန်လည်ခြင်း။

ဥပမာ

ဤဥပမာတွင် ရှာဖွေမှုပုံစံ (pattern) သည် အောက်ပါအတိုင်းဖြစ်သည် - အက္ခရာ 'x'၊ အက္ခရာ 'a' တစ်ကြိမ် သို့မဟုတ် နှစ်ကြိမ်၊ အက္ခရာ 'x'

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,2}x#', '!', $str);
?>

ရလဒ်အနေဖြင့် variable အတွင်းသို့ အောက်ပါအတိုင်း ရေးသွင်းပါမည်

php'xx ! ! xaaax'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေမှုပုံစံ (pattern) သည် အောက်ပါအတိုင်းဖြစ်သည် - အက္ခရာ 'x'၊ အက္ခရာ 'a' နှစ်ကြိမ် နှင့်အထက်၊ အက္ခရာ 'x'

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{2,}x#', '!', $str);
?>

ရလဒ်အနေဖြင့် variable အတွင်းသို့ အောက်ပါအတိုင်း ရေးသွင်းပါမည်

php'xx xax ! !'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေမှုပုံစံ (pattern) သည် အောက်ပါအတိုင်းဖြစ်သည် - အက္ခရာ 'x'၊ အက္ခရာ 'a' သုံးကြိမ် ၊ အက္ခရာ 'x'

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{3}x#', '!', $str);
?>

ရလဒ်အနေဖြင့် variable အတွင်းသို့ အောက်ပါအတိုင်း ရေးသွင်းပါမည်

php'xx xax xaax !'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေမှုပုံစံ (pattern) သည် အောက်ပါအတိုင်းဖြစ်သည် - အက္ခရာ 'a' ဆယ်ကြိမ်

php<?php
  $str = 'aaa aaaaaaaaaa aaa';
  $res = preg_replace('#a{10}#', '!', $str);
?>

ရလဒ်အနေဖြင့် variable အတွင်းသို့ အောက်ပါအတိုင်း ရေးသွင်းပါမည်

php'aaa ! aaa'

ဥပမာ

ဤဥပမာတွင် ကုဒ်ရေးသားသူသည် ဤကဲ့သို့သော ပုံစံကို လိုချင်ခဲ့သည်- အက္ခရာ 'x'၊ အက္ခရာ 'a' သုံးကြိမ် နှင့် အောက်၊ အက္ခရာ 'x'၊ သို့သော်၊ ဝမ်းနည်းစရာကောင်းသည်မှာ ဤကဲ့သို့ - {,3} - အလုပ်မလုပ်ပါ။ ထင်ရှားစွာ သတ်မှတ်ပေးရန် လိုအပ်ပါသည်

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{1,3}x#', '!', $str);
?>

ရလဒ်အနေဖြင့် variable အတွင်းသို့ အောက်ပါအတိုင်း ရေးသွင်းပါမည်

php'xx ! ! !'

ဥပမာ

သုညကိုလည်း ခွင့်ပြုသည်

php<?php
  $str = 'xx xax xaax xaaax';
  $res = preg_replace('#xa{0,3}x#', '!', $str);
?>

ရလဒ်အနေဖြင့် variable အတွင်းသို့ အောက်ပါအတိုင်း ရေးသွင်းပါမည်

php'! ! ! !'

လက်တွေ့လေ့ကျင့်ခန်းများ

Задание 1

အောက်ပါ string ကိုပေးထားသည်

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

Regular expression တစ်ခုကို ရေးပါ၊ ထို expression သည် 'abba', 'abbba', 'abbbba' string များကိုသာ ရှာဖွေပေးရပါမည်။

Задание 2

အောက်ပါ string ကိုပေးထားသည်

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

Regular expression တစ်ခုကို ရေးပါ၊ ထို expression သည် 'aba' ပုံစံရှိ string များကို ရှာဖွေပေးရပါမည်၊ ထို string များတွင် 'b' ကို သုံးကြိမ်အောက် (သုံးကြိမ်အပါအဝင်) သာတွေ့ရှိရပါမည်။

Задание 3

အောက်ပါ string ကိုပေးထားသည်

php<?php
  $str = 'aa aba abba abbba abbbba abbbbba';
?>

Regular expression တစ်ခုကို ရေးပါ၊ ထို expression သည် 'aba' ပုံစံရှိ string များကို ရှာဖွေပေးရပါမည်၊ ထို string များတွင် 'b' ကို လေးကြိမ်အထက် (လေးကြိမ်အပါအဝင်) တွေ့ရှိရပါမည်။