Invertering af tegnsæt i regulære udtryk

Ved hjælp af hatten ^ i starten af firkantede parenteser kan du invertere det ønskede. Det vil sige, hvis for eksempel kommandoen [ab] søger efter et bogstav 'a' eller 'b', så vil kommandoen [^ab] søge efter alle tegn undtagen 'a' og 'b'.

Eksempel

I dette eksempel ser søgemønsteret sådan ud: bogstav 'x', derefter IKKE bogstavet 'a', ikke 'b' og ikke 'c', derefter bogstav 'z':

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

Resultatet i variablen vil være følgende:

php'xaz xbz xcz !'

Eksempel

I dette eksempel ser søgemønsteret sådan ud: bogstav 'x', derefter IKKE et lille latinsk bogstav, derefter bogstav 'z':

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

Resultatet i variablen vil være følgende:

php'xaz xbz ! !'

Praktiske opgaver

Задание 1

Skriv et regulært udtryk, der finder strenge efter mønsteret: ciffer '1', derefter et tegn som ikke er 'e' og ikke 'x', ciffer '2'.

Задание 2

Skriv et regulært udtryk, der finder strenge efter mønsteret: bogstav 'x', derefter IKKE et ciffer fra 2 til 7, bogstav 'z'.

Задание 3

Skriv et regulært udtryk, der finder strenge efter mønsteret: bogstav 'x', derefter IKKE et stort latinsk bogstav fra 1 og derover gange, bogstav 'z'.

Задание 4

Skriv et regulært udtryk, der finder strenge efter mønsteret: bogstav 'x', derefter ikke et stort eller lille latinsk bogstav og ikke et ciffer fra 1 til 5 fra 1 og derover gange, bogstav 'z'.