REGEXP_LIKE() în MySQL

Expresii regulate MySQL 8.0.4+

Ca operatorul REGEXP, dar ca funcție, cu opțiuni (ex. diferența dintre majuscule).

Sintaxă
REGEXP_LIKE(expresie, tipar[, optiuni])

Ce face REGEXP_LIKE()

REGEXP_LIKE() face același lucru ca REGEXP, dar acceptă un al treilea parametru cu opțiuni: c (face diferența între litere mari și mici), i (nu face), m (mod multi-linie), n (. se potrivește și cu linia nouă).

Parametri

Parametru Descriere
expresie Textul verificat.
tipar Expresia regulată.
optiuni Opțional. Litere de opțiuni: c, i, m, n, u.

Ce returnează

1, 0 sau NULL.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE produse (
  id INT PRIMARY KEY,
  cod VARCHAR(20),
  nume VARCHAR(50),
  pret DECIMAL(10,2),
  etichete VARCHAR(100)
);

INSERT INTO produse VALUES
  (1, 'LAP-2026-01', 'Laptop ultraportabil', 3499.90, 'electronice,birou,promo'),
  (2, 'MOU-2025-07', 'Mouse fără fir', 79.50, 'electronice,accesorii'),
  (3, 'SCA-2026-03', 'Scaun ergonomic', 1249.00, 'mobilier,birou'),
  (4, 'CAB-2024-11', 'Cablu USB-C', 35.00, 'accesorii,promo');

Exemplul 1: Cu și fără diferența dintre majuscule

SELECT REGEXP_LIKE('Ana', '^a') AS implicit,
       REGEXP_LIKE('Ana', '^a', 'c') AS cu_majuscule,
       REGEXP_LIKE('Ana', '^A', 'c') AS exact;

Rezultat

+----------+--------------+-------+
| implicit | cu_majuscule | exact |
+----------+--------------+-------+
|        1 |            0 |     1 |
+----------+--------------+-------+

Exemplul 2: Validarea codurilor de produs

SELECT cod, REGEXP_LIKE(cod, '^[A-Z]{3}-20[0-9]{2}-[0-9]{2}$', 'c') AS valid
FROM produse
ORDER BY id;

Rezultat

+-------------+-------+
| cod         | valid |
+-------------+-------+
| LAP-2026-01 |     1 |
| MOU-2025-07 |     1 |
| SCA-2026-03 |     1 |
| CAB-2024-11 |     1 |
+-------------+-------+

Greșeli frecvente

  • Validezi coduri cu litere mari fără opțiunea 'c'. Cu colația implicită, 'lap-2026-01' ar trece drept valid.

Comenzi înrudite

  • REGEXP / RLIKE: Verifică dacă un text se potrivește cu o expresie regulată; mai puternic decât LIKE.
  • REGEXP_SUBSTR(): Returnează bucata de text care se potrivește cu o expresie regulată.
  • REGEXP_INSTR(): Returnează poziția la care începe (sau se termină) o potrivire cu o expresie regulată.