Оғоз ва поёни сатр дар регулярҳои PHP

Аломатҳои махсус мавҷуданд, ки оғози сатрро ^ ё поёни сатрро $ нишон медиҳанд. Биёед коркарди онҳоро дар мисолҳо бубинем.

Мисол

Дар ин мисол шаблони ҷустуҷӯ ин аст: иваз кардани 'aaa' ба '!' танҳо дар сурате, ки он дар оғози сатр истода бошад:

php<?php
  $str = 'aaa aaa aaa';
  $res = preg_replace('#^aaa#', '!', $str);
?>

Дар натиҷа ба тағирёбандаи зерин сабт мешавад:

php'! aaa aaa'

Мисол

Дар ин мисол шаблони ҷустуҷӯ ин аст: иваз кардани 'aaa' ба '!' танҳо дар сурате, ки он дар поёни сатр истода бошад:

php<?php
  $str = 'aaa aaa aaa';
  $res = preg_replace('#aaa$#', '!', $str);
?>

Дар натиҷа ба тағирёбандаи зерин сабт мешавад:

php'aaa aaa !'

Мисол

Вақте ки дар оғози регулярка ^ истода бошад, ва дар поён - $, пас ин тавр мо тамоми сатрро ба таври ҷамъӣ барои мувофиқат ба регулярка тафтиш мекунем.

Дар мисоли оянда шаблони ҷустуҷӯ ин аст: ҳарфи 'a' як ё зиёда маротиба такрор мешавад, тамоми сатрро ба '!' иваз кунед, танҳо дар сурате ки аз ҳарфҳои якхелаи 'a' иборат бошад.

php<?php
  $str = 'aaa';
  $res = preg_replace('#^a+$#', '!', $str);
?>

Дар натиҷа ба тағирёбандаи зерин сабт мешавад:

php'!'

Масъалаҳои амалӣ

Задание 1

Сатр дода шудааст:

php<?php
  $str = 'abc def xyz';
?>

Регуляркаеро нависед, ки зерсатри аввалинро аз ҳарфҳо пайдо кунад.

Задание 2

Сатр дода шудааст:

php<?php
  $str = 'abc def xyz';
?>

Регуляркаеро нависед, ки зерсатри охиринро аз ҳарфҳо пайдо кунад.

Задание 3

Сатр дода шудааст:

php<?php
  $str = '$aaa$ $bbb$ $ccc';
?>

Регуляркаеро нависед, ки зерсатри охиринро аз ҳарфҳо, ки бо аломатҳои доллар иҳота шудаанд, пайдо кунад.