Hướng dẫn cho người mới bắt đầu về biểu thức chính quy
Biểu thức chính quy, thường được viết tắt là biểu thức chính quy hoặc biểu thức chính quy, là các chuỗi ký tự xác định mẫu tìm kiếm. Chúng thường được sử dụng để khớp chuỗi, thay thế chuỗi con và trích xuất thông tin từ văn bản.
Tại sao phải học biểu thức chính quy?
Học các biểu thức chính quy có thể nâng cao đáng kể khả năng xử lý dữ liệu văn bản của bạn. Với biểu thức chính quy, bạn có thể:
- Tìm kiếm các mẫu cụ thể trong văn bản.
- Xác thực dữ liệu đầu vào như địa chỉ email và số điện thoại.
- Trích xuất các phần cụ thể của văn bản, như ngày tháng và URL.
- Thay thế chuỗi con trong văn bản dựa trên mẫu.
Các thành phần cơ bản của biểu thức chính quy
Regex bao gồm các ký tự chữ và siêu ký tự. Dưới đây là một số thành phần cơ bản:
- Ký tự chữ: Các ký tự khớp với chính chúng. Ví dụ:
a
khớp với "a". - Siêu ký tự: Các ký tự đặc biệt có ý nghĩa cụ thể, như
.
,*
,+
và?
.
Các siêu ký tự phổ biến và ý nghĩa của chúng
Hiểu siêu ký tự là chìa khóa để thành thạo biểu thức chính quy. Dưới đây là một số trong những cái được sử dụng phổ biến nhất:
.
- Khớp với bất kỳ ký tự đơn nào ngoại trừ dòng mới.*
- Khớp 0 hoặc nhiều lần lặp lại của phần tử trước đó.+
- Khớp 1 hoặc nhiều lần lặp lại của phần tử trước đó.?
- Khớp 0 hoặc 1 lần lặp lại của phần tử trước.[]
- Khớp với bất kỳ ký tự nào trong dấu ngoặc.{}
- Chỉ định số lần xuất hiện cụ thể của phần tử trước.()
- Nhóm nhiều mã thông báo lại với nhau và tạo các nhóm chụp.|
- Hoạt động như toán tử OR.
Các mẫu Regex cơ bản kèm ví dụ
Hãy xem xét một số mẫu biểu thức chính quy cơ bản và cách chúng hoạt động:
cat
Khớp chính xác với chuỗi "cat".
.at
Khớp với bất kỳ chuỗi nào chứa một ký tự đơn theo sau là "at", chẳng hạn như "cat", "bat", "hat".
\d{3}
Khớp chính xác ba chữ số, chẳng hạn như "123", "456", "789".
[a-z]
Khớp với bất kỳ chữ cái viết thường nào từ "a" đến "z".
(dog|cat)
Khớp với "dog" hoặc "cat".
Sử dụng Regex trong ngôn ngữ lập trình
Biểu thức chính quy được hỗ trợ rộng rãi trong nhiều ngôn ngữ lập trình khác nhau. Dưới đây là ví dụ về cách sử dụng biểu thức chính quy trong Python và JavaScript:
Ví dụ về Python
import re
# Search for 'dog' in a string
pattern = r'dog'
text = 'The dog barked loudly.'
match = re.search(pattern, text)
if match:
print('Match found:', match.group())
else:
print('No match found')
Ví dụ về JavaScript
// Search for 'dog' in a string
const pattern = /dog/;
const text = 'The dog barked loudly.';
const match = text.match(pattern);
if (match) {
console.log('Match found:', match[0]);
} else {
console.log('No match found');
}
Phần kết luận
Biểu thức chính quy là một công cụ mạnh mẽ cho bất kỳ ai xử lý văn bản. Bằng cách hiểu và thực hành các thành phần và mẫu cơ bản, bạn có thể cải thiện đáng kể khả năng xử lý và thao tác văn bản trong các dự án lập trình của mình. Thử nghiệm với các mẫu khác nhau và đào sâu kiến thức của bạn để khai thác toàn bộ tiềm năng của biểu thức chính quy.