Überprüfung einer gesamten Zeichenkette mit regulären Ausdrücken in PHP

Oft wird preg_match verwendet, um zu prüfen, ob eine gesamte Zeichenkette mit einem regulären Ausdruck übereinstimmt. In diesem Fall sollte am Anfang des regulären Ausdrucks ein Caret-Zeichen ^ und am Ende ein Dollar-Zeichen $ gesetzt werden. Damit sagen wir, dass das Muster auf die gesamte Zeichenkette zutreffen muss.

Lassen Sie uns als Beispiel prüfen, ob eine Zeichenkette vollständig aus den Buchstaben 'a' besteht oder nicht:

php<?php
  echo preg_match('#^a+$#', 'aaaa'); // gibt 1 aus
  echo preg_match('#^a+$#', 'aaab'); // gibt 0 aus
?>
Задание 1

Bestimmen Sie, ob die übergebene Zeichenkette eine Domain ist. Verwenden Sie für die Tests die folgenden Zeichenketten:

php<?php
  $arr[] = 'site.ru';          // +
  $arr[] = 'site.com';         // +
  $arr[] = 'my-site.com';      // +
  $arr[] = 'my-cool-site.com'; // +
  $arr[] = 'my_site.com';      // +
  $arr[] = 'site123.com';      // +
  $arr[] = 'site.travel';      // +
  $arr[] = 'si$te.com';        // -
  $arr[] = 'site.r';           // -
?>
Задание 2

Bestimmen Sie, ob die übergebene Zeichenkette eine E-Mail-Adresse ist. Verwenden Sie für die Tests die folgenden Zeichenketten:

php<?php
  $arr[] = 'addr@mail.ru';    // +
  $arr[] = 'addr123@mail.ru'; // +
  $arr[] = 'my-addr@mail.ru'; // +
  $arr[] = 'my_addr@mail.ru'; // +
  $arr[] = 'addr@site.ru';    // +
  $arr[] = 'addr.ru';         // -
  $arr[] = 'addr@.ru';        // -
  $arr[] = 'my@addr@mail.ru'; // -
?>