Hatte-symbolet inni sett i regulære uttrykk i PHP

Som du vet, gir hatten inni [] negasjon når den skrives i starten av parentesene. Det betyr at den er et spesialtegn inni disse parentesene. For å få hatten som et symbol, må du enten escape den eller flytte den vekk fra første plass.

Eksempel

I følgende eksempel er søkemønsteret slik: første tegn er alt untatt 'd', deretter to bokstaver 'x'.

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[^d]xx#', '!', $str);
?>

Resultatet som lagres i variabelen blir følgende:

php'! ! ! dxx'

Eksempel

Nå er søkemønsteret slik: første tegn er 'd' eller '^', deretter to bokstaver 'x':

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[d^]xx#', '!', $str);
?>

Resultatet som lagres i variabelen blir følgende:

php'axx bxx ! !'

Eksempel

Du trenger ikke flytte hatten vekk fra første plass, du kan bare escape den med en bakoverstrek, og den vil da representere seg selv:

php<?php
  $str = 'axx bxx ^xx dxx';
  $res = preg_replace('#[\^d]xx#', '!', $str);
?>

Resultatet som lagres i variabelen blir følgende:

php'axx bxx ! !'

Praktiske oppgaver

Задание 1

Gitt en streng:

php<?php
  $str = '^xx axx ^zz bkk @ss';
?>

Skriv et regulært uttrykk som finner strenger med mønsteret: hatt eller krøllalfa, og deretter to latinske bokstaver.

Задание 2

Gitt en streng:

php<?php
  $str = '^xx axx ^zz bkk @ss';
?>

Skriv et regulært uttrykk som finner strenger med mønsteret: IKKE hatt og ikke krøllalfa, og deretter to latinske bokstaver.

Задание 3

Gitt en streng:

php<?php
  $str = '^xx axx ^zz bkk';
?>

Skriv et regulært uttrykk som finner strenger med mønsteret: IKKE hatt, og deretter to latinske bokstaver.