จุดสิ้นสุดหรือจุดเริ่มต้นของคำใน Regular Expressions PHP
คำสั่ง \b แสดงถึงจุดเริ่มต้นหรือจุดสิ้นสุด
ของคำ และ \B ตามลำดับ - ไม่ใช่
จุดเริ่มต้นและไม่ใช่จุดสิ้นสุดของคำ แล้วคำคืออะไร?
เมื่อมองแวบแรก ดูเหมือนว่าจะเป็นสิ่งนั้น
ที่ถูกจำกัดด้วยช่องว่าง แต่นั่นไม่ใช่ทั้งหมด
ลองดูที่สตริงต่อไปนี้: house
with fence. ส่วนย่อย 'with' -
นี่คือคำ (มีช่องว่างทั้งสองด้าน) อย่างไรก็ตาม
ทั้ง 'house' และ 'fence' ก็คือคำด้วย
ซึ่งอยู่ที่จุดเริ่มต้นและจุดสิ้นสุดของสตริง
เรามาดูการใช้งานจริงของ คำสั่งนี้กัน
ในตัวอย่างถัดไป แพทเทิร์นการค้นหาคือ:
จุดเริ่มต้นของคำ, ตัวอักษรภาษาอังกฤษพิมพ์เล็ก
หนึ่งตัวหรือมากกว่า, จุดสิ้นสุดของคำ ดังนั้น
regex จะพบคำทั้งหมดและแทนที่
ด้วย '!':
<?php
echo preg_replace('#\b[a-z]+\b#', '!', 'axx bxx xxx exx'); // จะแสดงผล '! ! ! !'
?>
กำหนดสตริง:
<?php
$str = 'aaa xaa aaa xbb aaa';
?>
เขียน regex ที่จะค้นหาสตริง
ตามแพทเทิร์น: ตัวอักษร 'x' ที่จุดเริ่มต้น
ของคำ