Jika Anda tertarik dengan apa yang terjadi saat Anda menggunakan |
operator pengganti
, jawabannya mudah:mesin regex memproses ekspresi dan string input dari kiri ke kanan .
Mengambil pola yang Anda miliki sebagai contoh, ^.{8}|.{12}$|.{4}
mulai memeriksa string input dari kiri, dan memeriksa ^.{8}
- 8 karakter pertama. Menemukan mereka dan itu adalah kecocokan. Kemudian, lanjutkan dan temukan 12 karakter terakhir dengan .{12}$
, dan lagi ada kecocokan. Kemudian, string 4 karakter apa pun akan dicocokkan.
Selanjutnya, Anda memiliki ^.{8}|.{4}|.{12}$
. Ekspresi diurai lagi dari kiri ke kanan, 8 karakter pertama dicocokkan terlebih dahulu, tetapi selanjutnya, hanya urutan 4 karakter yang akan dicocokkan, .{12}
tidak akan pernah menyala karena akan ada .{4}
cocok!