Ekspresi reguler (Regular Expression, disingkat Regex/RegExp) adalah bahasa pola teks yang mendeskripsikan dan mencocokkan serangkaian string yang sesuai dengan aturan sintaks tertentu dengan satu string. Sejarahnya dapat ditelusuri kembali ke model matematika neuron yang diusulkan oleh ahli saraf Warren McCulloch dan matematikawan Walter Pitts pada tahun 1950-an, kemudian matematikawan Stephen Kleene pada tahun 1956 berdasarkan itu mengusulkan deskripsi aljabar dari「himpunan reguler」. Bapak Unix Ken Thompson pada akhir 1960-an pertama kali mengimplementasikan ekspresi reguler di editor QED, sejak itu ekspresi reguler menjadi fungsi inti dari rantai alat Unix (grep, sed, awk, vi).
Dalam bahasa pemrograman modern, ekspresi reguler hampir merupakan kemampuan standar — RegExp JavaScript, modul re Python, java.util.regex Java, kelas Regex .NET, paket regexp Go semuanya menyediakan dukungan regex. Ekspresi reguler banyak digunakan dalam skenario seperti validasi formulir (email/nomor HP/KTP), pencarian dan penggantian teks (cari ganti editor), analisis log (ekstraksi log ERROR), web crawler (ekstraksi konten HTML), pembersihan data (ETL), pencocokan rute, filter input dan perlindungan keamanan (aturan WAF), dll.
Konsep inti ekspresi reguler meliputi: kelas karakter (\d digit, \w karakter kata, \s spasi), pengkuantitas (* nol atau lebih, + satu atau lebih, ? nol atau satu, {n,m} jumlah yang ditentukan), jangkar (^ awal, $ akhir, \b batas kata), grup ((...) grup penangkapan, (?:...) grup non-penangkapan, (?<name>...) grup bernama), cabang (|), himpunan karakter ([a-z)], lookaround ((?=...) lookahead positif, (?!) lookahead negatif), dll. Menguasai regex dapat sangat meningkatkan efisiensi pemrosesan teks, tetapi juga perlu memperhatikan pencegahan jebakan kinerja seperti ReDoS.