ตัวอักษรเริ่มต้นและสิ้นสุดบรรทัดใน Regular Expressions PHP
มีตัวอักษรพิเศษที่ใช้แสดงถึง
การเริ่มต้นบรรทัด ^ หรือการสิ้นสุดบรรทัด $
มาดูการทำงานของพวกมันผ่านตัวอย่างกัน
ตัวอย่าง
ในตัวอย่างนี้รูปแบบการค้นหาคือ: แทนที่
'aaa' ด้วย '!' เฉพาะในกรณีที่มัน
อยู่ที่จุดเริ่มต้นของบรรทัด:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#^aaa#', '!', $str);
?>
ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:
'! aaa aaa'
ตัวอย่าง
ในตัวอย่างนี้รูปแบบการค้นหาคือ: แทนที่
'aaa' ด้วย '!' เฉพาะในกรณีที่มัน
อยู่ที่จุดสิ้นสุดของบรรทัด:
<?php
$str = 'aaa aaa aaa';
$res = preg_replace('#aaa$#', '!', $str);
?>
ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:
'aaa aaa !'
ตัวอย่าง
เมื่อมี ^ อยู่ที่ต้น Regular Expression
และ $ อยู่ที่ท้าย นั่นหมายความว่าเรากำลัง
ตรวจสอบทั้งบรรทัดว่าตรงกับรูปแบบหรือไม่
ในตัวอย่างถัดไป รูปแบบการค้นหาคือ:
ตัวอักษร 'a' ต้องปรากฏหนึ่งครั้งหรือ
มากกว่า ให้แทนที่ทั้งบรรทัดด้วย '!'
เฉพาะในกรณีที่บรรทัดนั้นประกอบด้วยตัวอักษร
'a' เท่านั้น
<?php
$str = 'aaa';
$res = preg_replace('#^a+$#', '!', $str);
?>
ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:
'!'
แบบฝึกหัด
ให้สตริง:
<?php
$str = 'abc def xyz';
?>
เขียน Regular Expression เพื่อค้นหา สตริงย่อยแรกที่ประกอบด้วยตัวอักษร
ให้สตริง:
<?php
$str = 'abc def xyz';
?>
เขียน Regular Expression เพื่อค้นหา สตริงย่อยสุดท้ายที่ประกอบด้วยตัวอักษร
ให้สตริง:
<?php
$str = '$aaa$ $bbb$ $ccc
';
?>
เขียน Regular Expression เพื่อค้นหา สตริงย่อยสุดท้ายที่ประกอบด้วยตัวอักษรและล้อมรอบด้วย สัญลักษณ์ดอลลาร์