เราสามารถใช้ vertical pipe (|) ในการระบุ alternative ใน regular expression ได้ เช่น
<?php
$bool = ereg('cat|dog', 'the cat rubbed my legs');
// true เนื่องจากว่าในข้อความมี cat อยู่ (ซึ่งในรูปแบบที่กำหนดนั้นระบุไว้ว่าในข้อความจะต้องมี cat หรือ dog อย่างใดอย่างหนึ่งอยู่ในนั้น)
$bool = ereg('cat|dog', 'the dog rubbed my legs');
// true เนื่องจากว่าในข้อความมี dog อยู่
$bool = ereg('cat|dog', 'the rabbit rubbed my legs');
// false เนื่องจากในข้อความไม่มีทั้ง dog หรือ cat เลย
?>
ถ้าเรากำหนด regular expression '^cat|dog$' มันจะทำการเลือกค้นหาระหว่าง '^cat' และ 'dog$' ซึ่งหมายความว่ามันจะ match กับข้อความที่เริ่มต้นด้วย 'cat' หรือลงท้ายด้วย 'dog' แต่ถ้าเราต้องการค้นหาข้อความที่มีคำว่า 'cat' หรือ 'dog' อย่างใดอย่างหนึ่งเท่านั้น จะต้องกำหนดว่า '^(cat|dog)$'
เราสามารถรวม character class และ alternation ไว้ด้วยกันได้ เช่น การตรวจสอบข้อความที่ไม่ได้เริ่มต้นด้วยตัวอักษรพิมพ์ใหญ่
<?php
$bool = ereg('^([a-z]|[0-9])', 'The quick brown fox');
// false เพราะว่ามันขึ้นต้นด้วยตัวใหญ่ แต่ที่กำหนดได้กำหนดไว้ว่าเริ่มต้นได้ด้วยตัวอักษรตัวเล็ก หรือตัวเลขเท่านั้น
$bool = ereg('^([a-z]|[0-9])', 'jumped over');
// true เพราะว่ามันขึ้นต้นด้วยตัวเล็ก
$bool = ereg('^([a-z]|[0-9])', '10 lazy dogs');
// true เพราะว่ามันขึ้นต้นด้วยตัวเลข
?>
ผู้สนับสนุน