Kiểm tra toàn bộ chuỗi với regex trong PHP

Thường thì preg_match được sử dụng để kiểm tra xem toàn bộ chuỗi có khớp với biểu thức chính quy hay không. Trong trường hợp như vậy, ở đầu regex nên đặt ký tự mũ ^, và ở cuối - ký tự đô la $. Điều này cho biết rằng toàn bộ chuỗi phải khớp với mẫu.

Hãy lấy ví dụ để xác định xem một chuỗi có hoàn toàn được tạo thành từ chữ cái 'a' hay không:

php<?php
  echo preg_match('#^a+$#', 'aaaa'); // sẽ hiển thị 1
  echo preg_match('#^a+$#', 'aaab'); // sẽ hiển thị 0
?>
Задание 1

Xác định xem chuỗi được truyền vào có phải là một tên miền hay không. Sử dụng các chuỗi sau để kiểm tra:

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

Xác định xem chuỗi được truyền vào có phải là một email hay không. Sử dụng các chuỗi sau để kiểm tra:

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'; // -
?>