ตัวอักษรเริ่มต้นและสิ้นสุดบรรทัดใน Regular Expressions PHP

มีตัวอักษรพิเศษที่ใช้แสดงถึง การเริ่มต้นบรรทัด ^ หรือการสิ้นสุดบรรทัด $ มาดูการทำงานของพวกมันผ่านตัวอย่างกัน

ตัวอย่าง

ในตัวอย่างนี้รูปแบบการค้นหาคือ: แทนที่ 'aaa' ด้วย '!' เฉพาะในกรณีที่มัน อยู่ที่จุดเริ่มต้นของบรรทัด:

php<?php
  $str = 'aaa aaa aaa';
  $res = preg_replace('#^aaa#', '!', $str);
?>

ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:

php'! aaa aaa'

ตัวอย่าง

ในตัวอย่างนี้รูปแบบการค้นหาคือ: แทนที่ 'aaa' ด้วย '!' เฉพาะในกรณีที่มัน อยู่ที่จุดสิ้นสุดของบรรทัด:

php<?php
  $str = 'aaa aaa aaa';
  $res = preg_replace('#aaa$#', '!', $str);
?>

ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:

php'aaa aaa !'

ตัวอย่าง

เมื่อมี ^ อยู่ที่ต้น Regular Expression และ $ อยู่ที่ท้าย นั่นหมายความว่าเรากำลัง ตรวจสอบทั้งบรรทัดว่าตรงกับรูปแบบหรือไม่

ในตัวอย่างถัดไป รูปแบบการค้นหาคือ: ตัวอักษร 'a' ต้องปรากฏหนึ่งครั้งหรือ มากกว่า ให้แทนที่ทั้งบรรทัดด้วย '!' เฉพาะในกรณีที่บรรทัดนั้นประกอบด้วยตัวอักษร 'a' เท่านั้น

php<?php
  $str = 'aaa';
  $res = preg_replace('#^a+$#', '!', $str);
?>

ผลลัพธ์ที่ได้ในตัวแปรจะเป็นดังนี้:

php'!'

แบบฝึกหัด

Задание 1

ให้สตริง:

php<?php
  $str = 'abc def xyz';
?>

เขียน Regular Expression เพื่อค้นหา สตริงย่อยแรกที่ประกอบด้วยตัวอักษร

Задание 2

ให้สตริง:

php<?php
  $str = 'abc def xyz';
?>

เขียน Regular Expression เพื่อค้นหา สตริงย่อยสุดท้ายที่ประกอบด้วยตัวอักษร

Задание 3

ให้สตริง:

php<?php
  $str = '$aaa$ $bbb$ $ccc
';
?>

เขียน Regular Expression เพื่อค้นหา สตริงย่อยสุดท้ายที่ประกอบด้วยตัวอักษรและล้อมรอบด้วย สัญลักษณ์ดอลลาร์