Garis tegak | memisahkan pilihan: merah|biru cocok dengan merah atau biru. Tanpa kurung, garis tegak membagi seluruh pola menjadi dua. Kurung membatasi pilihan hanya pada bagian di dalamnya.
/warna (merah|biru)/.test("warna biru"); // true
/warna merah|biru/.test("cat biru"); // true: pilihannya "warna merah" atau "biru"
/(ab){3}/.test("ababab"); // trueKurung juga membuat kuantor berlaku untuk beberapa karakter sekaligus. Pada (ab){3}, yang diulang tiga kali adalah ab; pada ab{3}, yang diulang hanya b.