PHP တွင် ပုံမှန် အီကွေးရှင်း စာလုံးအစု များ

စာလုံးအုပ်စုများ \d နှင့် \w တို့သည် အလွန်ပျော့ပြောင်းခြင်းမရှိပါ။ ဂဏန်းများမဟုတ်ဘဲ စာလုံးအားလုံးကိုရှာပါ ကဲ့သို့သော ရိုးရှင်းသည့်အလုပ်ကိုပင် ယင်းတို့ဖြင့် ဖြေရှင်း၍မရနိုင်ပါ။ ထိုကဲ့သို့သော အလုပ်များအတွက် သို့မဟုတ် လုပ်ဆောင်ချက်ကို ကိုယ်စားပြုသည့် စတုရန်းကွင်းခြင်းများကို အသုံးပြုသင့်သည်။

စတုရန်းကွင်းခြင်းများသည် အတွင်းတွင်ဖော်ပြထားသော မည်သည့်စာလုံးတစ်လုံးကိုမဆို အစားထိုးပေးသည်။ ဥပမာအားဖြင့်၊ ဤသို့ဖြစ်သည်- #x[abc]x# - ကျွန်ုပ်တို့ပြောသည်မှာ အစွန်းတစ်ဖက်စီတွင် 'x' စာလုံးများရှိရမည်၊ အတွင်းတွင် - စာလုံးတစ်လုံး- 'a'၊ သို့မဟုတ် 'b'၊ သို့မဟုတ် 'c' ဖြစ်ရမည်။

စတုရန်းကွင်းခြင်းများပြီးနောက် ထပ်ခါထပ်ခါလုပ်ဆောင်မှုအော်ပရေတာများကို ရေးသားနိုင်သည်။ ဥပမာအားဖြင့်၊ ဤသို့ဖြစ်သည်- #x[abc]+x# - ကျွန်ုပ်တို့ပြောသည်မှာ 'x' စာလုံးများကြားတွင် မည်သည့်အရေအတွက်မဆို 'a'၊ 'b' နှင့် 'c' စာလုံးများ ရှိနိုင်သည် - မည်သည့်ပေါင်းစပ်မှုနှင့်မဆို။

စာလုံးများကို စာရင်းပြုစုရုံသာမက၊ စာလုံးနှစ်လုံးကြား ဟိုင်ဖန် (hyphen) ထည့်သွင်းခြင်းဖြင့် စာလုံးအုပ်စုများကို ဖန်တီးနိုင်သည်။ ဥပမာအားဖြင့်၊ ဤသို့ဖြစ်သည်- #[a-d]# - ကျွန်ုပ်တို့သည် 'a' မှ 'd' အထိ စာလုံးအားလုံးကို ရရှိသည်။

ဥပမာများကို ကြည့်ရအောင်။

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 'a' မှ 'z' အထိ မည်သည့်စာလုံးမဆို-

php<?php
  $str = 'xax xbx xcx x@x';
  $res = preg_replace('#x[a-z]x#', '!', $str);
?>

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

php'! ! ! x@x'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 'a' မှ 'k' အထိ မည်သည့်စာလုံးမဆို-

php<?php
  $str = 'xax xbx xmx x@x';
  $res = preg_replace('#x[a-k]x#', '!', $str);
?>

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

php'! ! xmx x@x'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 'A' မှ 'Z' အထိ မည်သည့်စာလုံးမဆို-

php<?php
  $str = 'xax xBx xcx x@x';
  $res = preg_replace('#x[A-Z]x#', '!', $str);
?>

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

php'xax ! xcx x@x'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 0 မှ 9 အထိ မည်သည့်ဂဏန်းမဆို-

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[0-9]x#', '!', $str);
?>

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

php'xax ! ! ! x@x'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 3 မှ 7 အထိ မည်သည့်ဂဏန်းမဆို-

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[3-7]x#', '!', $str);
?>

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

php'xax x1x ! ! x@x'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 'a' မှ 'z' အထိ မည်သည့်စာလုံးမဆို သို့မဟုတ် 1 မှ 9 အထိ ဂဏန်း-

php<?php
  $str = 'xax x1x x3x x5x x@x';
  $res = preg_replace('#x[a-z1-9]x#', '!', $str);
?>

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

php'! ! ! ! x@x'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 'a' မှ 'z' အထိ မည်သည့်စာလုံးမဆို သို့မဟုတ် 'A' မှ 'Z' အထိ စာလုံး-

php<?php
  $str = 'xax xBx xcx x5x x@x';
  $res = preg_replace('#x[a-zA-Z]x#', '!', $str);
?>

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

php'! ! ! x5x x@x'

ဥပမာ

ဤဥပမာတွင် ရှာဖွေရေးပုံစံ (pattern) သည် ဤသို့ဖြစ်သည်- 'x' စာလုံးများကြားတွင် 'a' မှ 'z' အထိ မည်သည့်စာလုံးမဆို သို့မဟုတ် 1၊ 2 ဂဏန်းများ-

php<?php
  $str = 'xax xbx x1x x2x x3x';
  $res = preg_replace('#x[a-z12]x#', '!', $str);
?>

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

php'! ! ! ! x3x'

ဥပမာ

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

php<?php
  $str = 'xx xabesx xaadx x123x xa3x';
  $res = preg_replace('#x[a-z]+x#', '!', $str);
?>

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

php'xx ! ! ! x123x xa3x'

ဥပမာ

စာလုံးအရေအတွက် သုညဖြစ်နိုင်အောင်ပြုလုပ်ကြပါစို့-

php<?php
  $str = 'xx xabesx xaadx x123x xa3x';
  $res = preg_replace('#x[a-z]*x#', '!', $str);
?>

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

php'! ! ! x123x xa3x'

လက်တွေ့အလုပ်များ

Задание 1

စာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aba aea aca aza axa';
?>

�ောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - 'b'၊ 'e' သို့မဟုတ် 'x' စာလုံး။

Задание 2

�ာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'a1a a3a a7a a9a aba';
?>

အောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - 3 မှ 6 အထိ ဂဏန်း။

Задание 3

စာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aba aea afa aha aga';
?>

အောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - a မှ g အထိ စာလုံး။

Задание 4

စာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aba aea afa aha aga';
?>

အောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - a မှ f အထိ နှင့် j မှ z အထိ စာလုံး။

Задание 5

စာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aAa aea aEa aJa a3a';
?>

အောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - a မှ f အထိ နှင့် A မှ D အထိ စာလုံး။

Задание 6

စာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>

အောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - အင်္ဂလိပ်အက္ခရာ စာလုံးကလေးများ၊ ကျန်အရာများကို မထိခိုက်စေဘဲ။

Задание 7

စာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>

အောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - အင်္ဂလိပ်အက္ခရာ စာလုံးကလေးများနှင့် စာလုံးကြီးများ၊ ကျန်အရာများကို မထိခိုက်စေဘဲ။

Задание 8

စာတန်းတစ်ခုပေးထားသည်-

php<?php
  $str = 'aAXa aeffa aGha aza ax23a a3sSa';
?>

အောက်ပါပုံစံအတိုင်း တွေ့ရှိမည့် ပုံမှန်အီကွေးရှင်းတစ်ခုကို ရေးပါ- အစွန်းတစ်ဖက်စီတွင် 'a' စာလုံးများရှိပြီး၊ ၎င်းတို့ကြားတွင် - အင်္ဂလိပ်အက္ခရာ စာလုံးကလေးများနှင့် ဂဏန်းများ၊ ကျန်အရာများကို မထိခိုက်စေဘဲ။