სიმბოლო "^" ნაკრებების შიგნით PHP-ის რეგულარულ გამოსახულებებში
როგორც იცით, "^" სიმბოლო []-ის შიგნით
უარყოფას ახდენს, თუ იგი ფრჩხილების დასაწყისშია დაწერილი.
ეს ნიშნავს, რომ იგი სპეციალური სიმბოლოა ამ
ფრჩხილების შიგნით. იმისათვის, რომ "^" სიმბოლოდ მივიღოთ,
საჭიროა ან ესკაპირება მოვახდინოთ მისი, ან პირველი
ადგილიდან გადავიტანოთ.
მაგალითი
შემდეგ მაგალითში საძიებო შაბლონი ასეთია:
პირველი სიმბოლო - ეს არის ყველაფერი 'd'-ის გარდა,
შემდეგ ორი ასო 'x'.
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
შედეგად ცვლადში ჩაიწერება შემდეგი:
'! ! ! dxx'
მაგალითი
ახლა კი საძიებო შაბლონი ასეთია: პირველი სიმბოლო
- ეს არის 'd' ან '^', შემდეგ ორი
ასო 'x':
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
შედეგად ცვლადში ჩაიწერება შემდეგი:
'axx bxx ! !'
მაგალითი
შესაძლებელია "^" სიმბოლო პირველი ადგილიდან არ გადავიტანოთ, არამედ უბრალოდ ესკაპირება მოვახდინოთ მისი უკანა ხაზის გამოყენებით, და იგი საკუთარ თავს აღნიშნავს:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
შედეგად ცვლადში ჩაიწერება შემდეგი:
'axx bxx ! !'
პრაქტიკული ამოცანები
მოცემულია სტრიქონი:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
დაწერეთ რეგულარული გამოსახულება, რომელიც იპოვის სტრიქონებს შაბლონის მიხედვით: "^" ან "@", შემდეგ კი ორი ლათინური ასო.
მოცემულია სტრიქონი:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
დაწერეთ რეგულარული გამოსახულება, რომელიც იპოვის სტრიქონებს შაბლონის მიხედვით: არა "^" და არა "@", შემდეგ კი ორი ლათინური ასო.
მოცემულია სტრიქონი:
<?php
$str = '^xx axx ^zz bkk';
?>
დაწერეთ რეგულარული გამოსახულება, რომელიც იპოვის სტრიქონებს შაბლონის მიხედვით: არა "^", შემდეგ კი ორი ლათინური ასო.