รายการสัญลักษณ์พิเศษใน Regular Expressions ใน PHP
หาก escape สัญลักษณ์ทั่วไป - จะไม่มีอะไร ร้ายแรงเกิดขึ้น - มันก็ยังคงหมายถึง ตัวมันเอง ข้อยกเว้นคือตัวเลข, ไม่สามารถ escape ตัวเลขได้
มักเกิดข้อสงสัยว่าสัญลักษณ์นี้เป็น สัญลักษณ์พิเศษหรือไม่ บางคนถึงขั้น escape สัญลักษณ์ที่น่าสงสัยทั้งหมด อย่างไรก็ตาม นี่เป็นวิธีปฏิบัติที่ไม่ดี (ทำให้ regex รกไปด้วยเครื่องหมาย backslash)
เป็นสัญลักษณ์พิเศษ: $ ^ . * + ? \
/ {} [] () |
ไม่ใช่สัญลักษณ์พิเศษ: @ : , ' " ;
- _ = < > % # ~ ` & !
กำหนดสตริง:
<?php
$str = 'a.a aba aea';
?>
เขียน regular expression ที่จะพบสตริง
'a.a' โดยไม่จับส่วนที่เหลือ
กำหนดสตริง:
<?php
$str = '2+3 223 2223';
?>
เขียน regular expression ที่จะพบสตริง
'2+3' โดยไม่จับส่วนที่เหลือ
กำหนดสตริง:
<?php
$str = '23 2+3 2++3 2+++3 345 567';
?>
เขียน regular expression ที่จะพบสตริง
'2+3', '2++3', '2+++3',
โดยไม่จับส่วนที่เหลือ (+ สามารถมีได้
จำนวนเท่าใดก็ได้)
กำหนดสตริง:
<?php
$str = '23 2+3 2++3 2+++3 445 677';
?>
เขียน regular expression ที่จะพบสตริง
'23', '2+3', '2++3',
'2+++3' โดยไม่จับส่วนที่เหลือ
กำหนดสตริง:
<?php
$str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';
?>
เขียน regular expression ที่จะพบสตริง
'*q+', '*qq+', '*qqq+',
โดยไม่จับส่วนที่เหลือ
กำหนดสตริง:
<?php
$str = '[abc] {abc} abc (abc) [abc]';
?>
เขียน regular expression ที่จะพบสตริง
ในวงเล็บเหลี่ยมและแทนที่ด้วย '!'