Metacharacters pipe ( | ) digunakan jika Anda memiliki beberapa pattern untuk matching. Pipe bersifat OR, jadi matching akan berhenti jika salah satu pattern match.
Mari gunakan contoh, misalnya kita memiliki 3 pattern seperti berikut.
import re
str = "Hari ini adalah tanggal 21 Januari 2021."
pattern = r"\d{2}|\d{4}|\b\w{8}\b"
result = re.search(pattern, str)
<re.Match object; span=(24, 26), match='21'>
Jadi maksud pattern diatas adalah, cari match untuk 2 digit angka, atau 4 digit angka atau kata 8 character. Ketika ada match langsung berhenti.
Jika kita ganti \b\w{8}\b menjadi \b\w{3}\b, maka pattern akan match pertama di kata ini dan proses search akan berhenti.
pattern = r"\d{2}|\d{4}|\b\w{3}\b"
result = re.search(pattern, str)
<re.Match object; span=(5, 8), match='ini'>