PHP හි නිත්‍ය ප්‍රකාශනවල සංකේත කණ්ඩායම්

සංකේතවල සම්පූර්ණ කණ්ඩායම් වහාම තෝරා ගැනීමට ඉඩ සලසන විශේෂ විධාන පවතී. \d විධානය යනු 0 සිට 9 දක්වා ඉලක්කමයි. \w විධානය ඉලක්කමක්, ලතින් අකුරක් හෝ යටි ඉරි සලකුණ නිරූපණය කරයි. \s විධානය අවකාශයක් හෝ අවකාශ සංකේතයක් නිරූපණය කරයි: හිස් අවකාශය, පේළියක් මාරු කිරීම, ටැබ් කිරීම. විධානයේ අගය ප්‍රතිලෝම කළ හැකිය, විශාල අකුරක් ලිවීමෙන්: උදාහරණයක් ලෙස, \d - ඉලක්කමක් නම්, \D - ඉලක්කමක් නොවේ.

උදාහරණය

අපි සියලුම ඉලක්කම් සොයා ගනිමු:

php<?php
  $str = '1 12 123';
  $res = preg_replace('#\d#', '!', $str);
?>

ප්‍රතිඵලයක් වශයෙන්, විචල්‍යයට පහත දේ ලියා ඇත:

php'! !! !!!'

උදාහරණය

පුනරාවර්තන මෙහෙයුම් විධාන-කණ්ඩායම් සමස්තයක් ලෙස සලකයි, එනම් සමූහ කරන වරහන් අවශ්‍ය නොවේ. පහත උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: 0 සිට 9 දක්වා ඉලක්කමක් එක් හෝ කිහිප වතාවක්:

php<?php
  $str = '1 12 123 abc @@@';
  $res = preg_replace('#\d+#', '!', $str);
?>

ප්‍රතිඵලයක් වශයෙන්, විචල්‍යයට පහත දේ ලියා ඇත:

php'! ! ! abc @@@'

උදාහරණය

පහත උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: ඕනෑම දෙයක් එක් හෝ කිහිප වතාවක්, නමුත් 0 සිට 9 දක්වා ඉලක්කමක් නොවේ:

php<?php
  $str = '123abc3@@';
  $res = preg_replace('#\D+#', '!', $str);
?>

ප්‍රතිඵලයක් වශයෙන්, විචල්‍යයට පහත දේ ලියා ඇත:

php'123!3!'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: අවකාශ සංකේතයක් එක් වරක්:

php<?php
  $str = '1 12 123 abc @@@';
  $res = preg_replace('#\s#', '!', $str);
?>

ප්‍රතිඵලයක් වශයෙන්, විචල්‍යයට පහත දේ ලියා ඇත:

php'1!12!123!abc!@@@'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: අවකාශ සංකේතයක් නොවන එක් හෝ කිහිප වතාවක්. හිස් අවකාශ මගින් වෙන් කරන ලද සියලුම උප strings, '!' වෙත ප්‍රතිස්ථාපනය වේ:

php<?php
  $str = '1 12 123 abc @@@';
  $res = preg_replace('#\S+#', '!', $str);
?>

ප්‍රතිඵලයක් වශයෙන්, විචල්‍යයට පහත දේ ලියා ඇත:

php'! ! ! ! !'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: ඉලක්කමක් හෝ අකුරක් එක් හෝ කිහිප වතාවක්. ඉලක්කම් සහ අකුරු වලින් සමන්විත සියලුම උප strings, '!' වෙත ප්‍රතිස්ථාපනය වේ:

php<?php
  $str = '1 12 123a Abc @@@';
  $res = preg_replace('#\w+#', '!', $str);
?>

ප්‍රතිඵලයක් වශයෙන්, විචල්‍යයට පහත දේ ලියා ඇත:

php'! ! ! ! @@@'

උදාහරණය

මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: ඉලක්කමක් නොවන සහ අකුරක් නොවන එක් හෝ කිහිප වතාවක්. අපගේ නඩුවේදී, මෙම නිර්වචනයට ගැළපෙන්නේ '@@@' සහ සියලුම හිස් අවකාශ (ඒවා ද ඉලක්කම් හෝ අකුරු නොවේ). කරුණාකර සටහන් කර ගන්න අවසානයේ එක් '!' එකක් ඇති බව - එයට ' @@@' string එක පරිවර්තනය විය - එහි ඉදිරිපස හිස් අවකාශයක් සමඟ:

php$str = '1 12 123 Abc @@@';
$res = preg_replace('#\W+#', '!', $str);

ප්‍රතිඵලයක් වශයෙන්, විචල්‍යයට පහත දේ ලියා ඇත:

php'1!12!123!Abc!'

ප්‍රායෝගික කාර්යයන්

Задание 1

String එකක් දෙනු ලැබේ:

php<?php
  $str = 'a1a a2a a3a a4a a5a aba aca';
?>

නිත්‍ය ප්‍රකාශනයක් ලියන්න, එය සොයා ගනු ඇත එම strings, එහි පැතිවල අකුරු 'a', ඒවායේ අතර එක් ඉලක්කමක්.

Задание 2

String එකක් දෙනු ලැබේ:

php<?php
  $str = 'a1a a22a a333a a4444a a55555a aba aca';
?>

නිත්‍ය ප්‍රකාශනයක් ලියන්න, එය සොයා ගනු ඇත එම strings, එහි පැතිවල අකුරු 'a', ඒවායේ අතර ඕනෑම ගණනක ඉලක්කම්.

Задание 3

String එකක් දෙනු ලැබේ:

php<?php
  $str = 'aa a1a a22a a333a a4444a a55555a aba aca';
?>

නිත්‍ය ප්‍රකාශනයක් ලියන්න, එය සොයා ගනු ඇත එම strings, එහි පැතිවල අකුරු 'a', ඒවායේ අතර ඕනෑම ගණනක ඉලක්කම් (ඇතුළුව ශුන්ය ඉලක්කම්, එනම් string 'aa').

Задание 4

String එකක් දෙනු ලැබේ:

php<?php
  $str = 'avb a1b a2b a3b a4b a5b abb acb';
?>

නිත්‍ය ප්‍රකාශනයක් ලියන්න, එය සොයා ගනු ඇත පහත වර්ගයේ strings: පැතිවල අකුරු 'a' සහ 'b', ඒවායේ අතර - එකක් නොවේ අංකය.

Задание 5

String එකක් දෙනු ලැබේ:

php<?php
  $str = 'ave a#b a2b a$b a4b a5b a-b acb';
?>

නිත්‍ය ප්‍රකාශනයක් ලියන්න, එය සොයා ගනු ඇත පහත වර්ගයේ strings: පැතිවල අකුරු 'a' සහ 'b', ඒවායේ අතර - එකක් නොවේ අකුරක් හෝ ඉලක්කමක්.

Задание 6

String එකක් දෙනු ලැබේ:

php<?php
  $str = 'ave a#a a2a a$a a4a a5a a-a aca';
?>

නිත්‍ය ප්‍රකාශනයක් ලියන්න, එය සියලුම හිස් අවකාශ ප්‍රතිස්ථාපනය කරනු ඇත '!' වෙත.