Giới thiệu biểu thức chính quy trong Python
Biểu thức chính quy là các lệnh dùng để tìm kiếm và thay thế (hoặc đơn giản là tìm kiếm) phức tạp. Chúng cho phép thực hiện những việc rất thú vị, nhưng, tiếc là, khá khó để nắm vững.
Để bắt đầu làm việc với biểu thức chính quy
trong Python, chúng ta cần nhập mô-đun đặc biệt
re:
import re
Mô-đun re bao gồm các phương thức,
dành cho việc làm việc với biểu thức chính quy.
Biểu thức chính quy
là một tập hợp các lệnh và bao gồm
hai loại ký tự: những ký tự
biểu thị chính nó và những ký tự-lệnh,
được gọi là ký tự đặc biệt.
Làm quen với biểu thức chính quy tốt hơn
nên bắt đầu bằng ví dụ về phương thức sub,
được sử dụng để thay thế trong chuỗi. Tham số đầu tiên
phương thức nhận vào cái gì cần thay đổi,
tham số thứ hai - thay bằng cái gì.
Trong tham số thứ ba
chỉ định chuỗi mà cần thực hiện
thay thế. Trong tham số thứ tư không bắt buộc
thiết lập số lần thay thế.
Việc thay thế đơn giản nhất
bằng phương pháp này sẽ
trông như thế này:
res = re.sub('a', '!', 'bab')
print(res) # sẽ xuất ra 'b!b'
Như bạn đã chú ý, trong biểu thức chính quy
các chữ cái biểu thị chính nó.
Điều tương tự
cũng áp dụng cho các chữ số.
Hãy thay thế chữ số
2 bằng !:
res = re.sub('2', '!', '12abc3')
print(res) # sẽ xuất ra '1!abc3'
Còn dấu chấm là một ký tự đặc biệt
và biểu thị bất kỳ ký tự nào.
Trong ví dụ tiếp theo
hãy tìm chuỗi con theo mẫu như vậy:
chữ cái 'x', sau đó bất kỳ
ký tự nào, sau đó lại là chữ cái 'x':
res = re.sub('x.x', '!', 'xax eee')
print(res) # sẽ xuất ra '! eee'
Cho một chuỗi:
txt = 'ahb acb aeb aeeb adcb axeb'
Hãy viết biểu thức chính quy, tìm các chuỗi
'ahb', 'acb', 'aeb'
theo mẫu: chữ cái 'a', bất kỳ
ký tự nào, chữ cái 'b'.
Cho một chuỗi:
txt = 'aba aca aea abba adca abea'
Hãy viết biểu thức chính quy, tìm các chuỗi
'abba', 'adca', 'abea'
theo mẫu: chữ cái 'a', 2
ký tự bất kỳ, chữ cái 'a'.
Cho một chuỗi:
txt = 'aba aca aea abba adca abea'
Hãy viết biểu thức chính quy, tìm các chuỗi
'abba' và 'abea', không bắt lấy
'adca'.