Invertering av teckenuppsättningar i reguljära uttryck

Med hjälp av cirkumflex ^ i början av hakparenteser kan man invertera det önskade. Det betyder att om till exempel kommandot [ab] söker efter bokstaven 'a' eller 'b', så kommer kommandot [^ab] att söka efter alla tecken utom 'a' och 'b'.

Exempel

I detta exempel ser sökmönstret ut så här: bokstaven 'x', sedan INTE bokstaven 'a', inte 'b' och inte 'c', sedan bokstaven 'z':

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

Som ett resultat kommer följande att skrivas in i variabeln:

php'xaz xbz xcz !'

Exempel

I detta exempel ser sökmönstret ut så här: bokstaven 'x', sedan INTE en liten latinsk bokstav, sedan bokstaven 'z':

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

Som ett resultat kommer följande att skrivas in i variabeln:

php'xaz xbz ! !'

Praktiska uppgifter

Задание 1

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: siffran '1', sedan ett tecken som inte är 'e' och inte 'x', siffran '2'.

Задание 2

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'x', sedan INTE en siffra från 2 till 7, bokstaven 'z'.

Задание 3

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'x', sedan INTE en stor latinsk bokstav från 1 och fler gånger, bokstaven 'z'.

Задание 4

Skriv ett reguljärt uttryck som hittar strängar enligt mönstret: bokstaven 'x', sedan inte en stor eller liten latinsk bokstav och inte en siffra från 1 till 5 från 1 och fler gånger, bokstaven 'z'.