StepCoding

Anchors

อ่าน [687] หมวดหมู่: POSIX Regular Expression

anchor เป็นตัวระบุว่า pattern นั้น ๆ จะ match กับตำแหน่งไหน ๆ ในข้อความ string เช่นจุดเริ่มต้นของข้อความ จุดเริ่มต้นของคำ เป็นต้น เราไปดูกันครับว่ามีอะไรบ้าง

AnchorMatches
^จุดเริ่มต้นของข้อความ String
$จุดสุดท้ายของข้อความ String
[[:<:]]จุดเริ่มต้นของคำ ในข้อความ String
[[:>:]]จุดสุดท้ายของคำ ในข้อความ String
<?php
$bool = ereg('^hello', 'hello my name is Genetic');
// true เพราะว่าข้อความเริ่มต้นด้วย hello

$bool = ereg('world$', 'hello world');
// true เพราะว่าข้อความจบด้วยคำว่า world

$bool = ereg('^hello$', 'hello world');
// false เพราะว่าใน pattern นี้ระบุว่าต้องเริ่มต้นด้วยคำว่า hello และลงท้ายด้วยคำว่า hello เท่านั้นเพราะฉะนั้นในข้อความจะต้องมีคำว่า hello คำเดียวเท่านั้น

$bool = ereg('[[:<:]]pro', 'genetic programming');
// true เพราะว่าคำที่สอง (programming) มีคำว่า pro เริ่มต้น

$bool = ereg('ing[[:>:]]', 'genetic programming');
// true เพราะว่าคำที่สอง (programming) มีคำว่า ing ลงท้าย

$bool = ereg('[[:<:]]program[[:>:]]', 'genetic programming');
// false เพราะว่าต้องมีคำใดคำหนึ่งขึ้นต้นด้วยคำว่า program และลงท้ายด้วย program ซึ่งหมายความว่าคำใดคำหนึ่งในข้อความจะต้องมีเฉพาะคำว่า program เท่านั้น

$bool = ereg('[[:<:]]program[[:>:]]', 'genetic program');
// true
?>

ผู้สนับสนุน