การใช้ Group ในการค้นหาด้วยเมธอด search ใน Python

บ่อยครั้งที่ในการค้นหาความสอดคล้อง มันสะดวกที่จะแยกสตริงย่อยออกเป็นสิ่งที่เรียกว่า กลุ่ม (groups) พวกมันเป็นวิธีในการแบ่งส่วนที่พบออกเป็นส่วนๆ แยกกัน ในการใช้งาน คุณต้องใส่ส่วนหนึ่งของ regular expression ไว้ในวงเล็บ

มาลองทำดูในทางปฏิบัติ สมมติว่าเรามีสตริงต่อไปนี้:

pythontxt = '123 456'

ลองแยกสตริงย่อยที่เป็นตัวเลขออกเป็นกลุ่มกัน สำหรับสิ่งนี้ เรามาเขียน regular expression ต่อไปนี้:

pythonres = re.search('(\d+) (\d+)', txt)

ผลลัพธ์ที่ได้จะเป็น match object ในองค์ประกอบที่มีดัชนี 1 จะเป็นกลุ่มแรก ในองค์ประกอบที่มีดัชนี 2 จะเป็นกลุ่มที่สอง และในองค์ประกอบที่มีดัชนี 0 จะเป็นทุกสิ่งที่พบ (ที่เรียกว่า กลุ่มศูนย์):

pythonprint(res[0]) # '123 456' - สิ่งที่พบ
print(res[1]) # '123'     - กลุ่มที่ 1
print(res[2]) # '456'     - กลุ่มที่ 2
Задание 1

กำหนดสตริงที่มีโดเมน:

pythontxt = 'sss domain.ru zzz'

ค้นหาโดเมนนั้นและใส่ชื่อโดเมนไว้ในกลุ่มแรก และโซนไว้ในกลุ่มที่สอง

Задание 2

กำหนดสตริงที่มีวันที่:

pythontxt = '31.12.2025'

ใส่วันที่ไว้ในกลุ่มแรก เดือนไว้ในกลุ่มที่สอง และปีไว้ในกลุ่มที่สาม