Đảo ngược tập hợp ký tự trong regex
Bằng cách sử dụng dấu mũ '^' ở đầu
dấu ngoặc vuông, bạn có thể đảo ngược
điều mong muốn. Ví dụ, nếu lệnh [ab]
tìm chữ cái 'a' hoặc 'b' thì
lệnh [^ab] sẽ tìm tất cả
các ký tự, ngoại trừ 'a' và 'b'.
Ví dụ
Trong ví dụ này, mẫu tìm kiếm trông như
sau: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái
'a', không phải 'b' và không phải 'c',
rồi đến chữ cái 'z':
txt = 'xaz xbz xcz xez'
res = re.sub('x[^abc]z', '!', txt)
print(res)
Kết quả thực thi mã:
'xax xbx xcx !'
Ví dụ
Trong ví dụ này, mẫu tìm kiếm trông như
sau: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái thường
tiếng Latinh, rồi đến chữ cái 'z':
txt = 'xaz xbz x1z xCz'
res = re.sub('x[^a-z]z', '!', txt)
print(res)
Kết quả thực thi mã:
'xaz xbz ! !'
Bài tập thực hành
Viết biểu thức chính quy tìm các chuỗi
theo mẫu: chữ số 1, sau đó là ký tự
không phải 'e' và không phải 'x', chữ số
2.
Viết biểu thức chính quy tìm các chuỗi
theo mẫu: chữ cái 'x', sau đó KHÔNG PHẢI
chữ số từ 2 đến 7, chữ cái
'z'.
Viết biểu thức chính quy tìm các chuỗi
theo mẫu: chữ cái 'x', sau đó KHÔNG PHẢI
chữ cái hoa tiếng Latinh từ 1 lần trở lên,
chữ cái 'z'.
Viết biểu thức chính quy tìm các chuỗi
theo mẫu: chữ cái 'x', sau đó KHÔNG PHẢI
chữ cái hoa hoặc thường tiếng Latinh và
không phải chữ số từ 1 đến 5 từ 1
lần trở lên, chữ cái 'z'.