Invertering av tegnsett i regulære uttrykk

Ved hjelp av cirkumfleks ^ i starten av klammeparenteser kan du invertere ønsket. Det vil si, hvis for eksempel kommandoen [ab] søker etter bokstaven 'a' eller 'b', vil kommandoen [^ab] søke etter alle tegn, unntatt 'a' og 'b'.

Eksempel

I dette eksemplet ser søkemønsteret slik ut: bokstaven 'x', deretter IKKE bokstaven 'a', ikke 'b' og ikke 'c', deretter bokstaven 'z':

php<?php
  $str = 'xaz xbz xcz xez';
  $res = preg_replace('#x[^abc]z#', '!', $str);
?>

Resultatet som skrives til variabelen blir følgende:

php'xaz xbz xcz !'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: bokstaven 'x', deretter IKKE en liten latinsk bokstav, deretter bokstaven 'z':

php<?php
  $str = 'xaz xbz x1z xCz';
  $res = preg_replace('#x[^a-z]z#', '!', $str);
?>

Resultatet som skrives til variabelen blir følgende:

php'xaz xbz ! !'

Praktiske oppgaver

Задание 1

Skriv et regulært uttrykk som finner strenger etter mønsteret: siffer '1', deretter et tegn som ikke er 'e' og ikke 'x', siffer '2'.

Задание 2

Skriv et regulært uttrykk som finner strenger etter mønsteret: bokstaven 'x', deretter IKKE et siffer fra 2 til 7, bokstaven 'z'.

Задание 3

Skriv et regulært uttrykk som finner strenger etter mønsteret: bokstaven 'x', deretter IKKE en stor latinsk bokstav fra 1 eller flere ganger, bokstaven 'z'.

Задание 4

Skriv et regulært uttrykk som finner strenger etter mønsteret: bokstaven 'x', deretter ikke en stor eller liten latinsk bokstav og ikke et siffer fra 1 til 5 fra 1 eller flere ganger, bokstaven 'z'.