อักขระส่วนมากใน regualr expression จะทำการ match เฉพาะตัวมันเอง เช่น ถ้าเรากำหนดรูปแบบ regular expression ในการค้นหาว่า "cow" เพื่อใช้ในการค้นหา string "Genetic was a cowhand," ผลลัพธ์ที่ได้จะ match กัน เพราะว่าในข้อความนี้มีคำว่า "cow" อยู่ด้วย
อักขระบางตัวมีความหมายพิเศษใน regular expression เช่น caret (^) ที่จุดเริ่มต้นของรูปแบบที่กำหนดใน regular expression เป็นการบอกว่า String ที่นำมาค้นหานั้นจะต้องขึ้นต้นด้วยคำนั้น ๆ เช่น
<?php
$bool = ereg('^cow', 'Genetic was a cowhand');
echo $bool;
// false เนื่องจากข้อความนี้ไม่ได้ขึ้นต้นด้วย cow
$bool = ereg('^cow', 'cowabunga!');
// true เนื่องจากข้อความนี้ขึ้นต้นด้วย cow
?>
ในทางตรงกันข้าม ถ้าเราใช้สัญลักษณ์ dollar sign ($) ไว้ที่จุดสุดท้ายของ regular expression เป็นการบ่งบอกว่า String ที่นำมาค้นหานั้นจะต้องลงท้ายด้วยคำนั้น ๆ เช่น
<?php
$bool = ereg('cow$', 'Genetic was a cowhand');
echo $bool;
// false เพราะว่ามันไม่ได้ลงท้ายด้วย cow
$bool = ereg('cow$', 'Don't have a cow');
echo $bool;
// true เพราะว่ามันลงท้ายด้วย cow
?>
ถ้าเราใช้อักขระ (.) ใน regular expression เป็นการบ่งบอกว่ามันจะ match กับอักขระอะไรก็ได้ (เพียงตัวเดียวเท่านั้น
<?php
$bool = ereg('c.t', 'cat'); // true
$bool = ereg('c.t', 'cut'); // true
$bool = ereg('c.t', 'c t'); // true
$bool = ereg('c.t', 'bat'); // false
$bool = ereg('c.t', 'ct'); // false
?>
ในกรณีที่เราต้องการค้นหารูปแบบที่มีอักขระพิเศษเหล่านี้ (^, $, .) ด้วย (เรียกว่า metacharacter) เราจะต้องทำการ escape มันด้วย backslash (\) เช่น
<?php
$bool = ereg('\$5\.00', 'Your bill is $5.00 exactly');
// true เพราะว่าเราทำการ escape อักขระพิเศษเหล่านี้ไว้แล้วมันจึง match กับข้อความที่นำมาค้นหา
$bool = ereg('$5.00', 'Your bill is $5.00 exactly');
// false เพราะอักขระพิเศษ "$" มันจะตีความหมายผิด
?>
ค่า Default ของ regular expression จะเป็นคุณสมบัติ case-sensitive ดังนั้นถ้าเรากำหนด regular expression "cow" มันจะไม่ match กับข้อความ string คำว่า "COW" แต่ถ้าต้องการให้มันตรวจสอบแบบสถานะ case-insensitive เราจะต้องใช้ฟังก์ชัน eregi() แทน
ผู้สนับสนุน