Các nhóm được đặt tên trong phương thức search của Python
Để làm việc với các nhóm thuận tiện hơn,
bạn có thể đặt tên cho chúng. Để làm điều này,
trong tham số đầu tiên của phương thức search
trước ký hiệu của biểu thức chính quy, bạn viết chuỗi
'?P', sau đó trong dấu ngoặc nhọn
chỉ định tên của nhóm.
Các nhóm như vậy có thể được lấy bằng
phương thức groupdict. Nó sẽ trả về chúng
dưới dạng từ điển, trong đó khóa là tên nhóm,
còn giá trị là chuỗi con nằm trong đó.
Hãy xem xét cách làm việc với các nhóm được đặt tên qua một ví dụ. Giả sử chúng ta có chuỗi:
txt = '123 456'
Hãy tạo hai nhóm cho nó, chúng
sẽ được đặt tên lần lượt là 'num1' và 'num2':
res = re.search('(?P<num1>\d+)\s(?P<num2>\d+)', txt)
Bây giờ hãy in các nhóm của chúng ta bằng phương thức groupdict:
print(res.groupdict()) # sẽ in ra {'num1': '123', 'num2': '456'}
Cho một chuỗi thời gian:
txt = '12:59:59'
Hãy đặt giờ, phút và giây vào các nhóm được đặt tên riêng biệt.
Cho một chuỗi:
txt = 'aaa bbb 123 456'
Hãy đặt các chuỗi con 'aaa' và 'bbb'
vào các nhóm được đặt tên riêng biệt.
Cho một chuỗi:
txt = 'alex23'
Hãy đặt tên và tuổi của người dùng vào các nhóm được đặt tên riêng biệt.