სიმბოლო "^" ნაკრებების შიგნით 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';
?>

დაწერეთ რეგულარული გამოსახულება, რომელიც იპოვის სტრიქონებს შაბლონის მიხედვით: არა "^", შემდეგ კი ორი ლათინური ასო.