อักขระพิเศษภายในวงเล็บเหลี่ยมใน PHP
อักขระพิเศษภายใน [] จะกลายเป็นอักขระธรรมดา
ซึ่งหมายความว่าเราไม่จำเป็นต้องเอสเคปด้วยแบ็กสแลช
ตัวอย่าง
ในตัวอย่างนี้ แพตเทิร์นการค้นหาจะเป็นดังนี้:
ระหว่างตัวอักษร x เป็นตัวอักษรใดๆ ระหว่าง 'a', 'b',
'c', หรือจุด:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
ผลลัพธ์ที่เก็บในตัวแปรจะเป็นดังนี้:
'! ! ! xdx ! x@x'
ตัวอย่าง
ในตัวอย่างนี้ แพตเทิร์นการค้นหาจะเป็นดังนี้: ระหว่างตัวอักษร x เป็นตัวอักษรภาษาอังกฤษพิมพ์เล็กใดๆ หรือจุด:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
ผลลัพธ์ที่เก็บในตัวแปรจะเป็นดังนี้:
'! ! ! x@x'
แบบฝึกหัด
กำหนดสตริง:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
เขียน Regular Expression ที่จะค้นพบสตริง
'a.a', 'a+a', 'a*a',
โดยไม่กระทบกับสตริงอื่น
กำหนดสตริง:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
เขียน Regular Expression ที่จะค้นพบสตริง
ตามแพตเทิร์น: ตัวอักษร 'x', ตามด้วย
ไม่ใช่จุด, ไม่ใช่เครื่องหมาย @, และไม่ใช่เครื่องหมายดอลลาร์, แล้วตามด้วยตัวอักษร
'z'.