آشنایی با نحوهٔ مجزاسازی بخش‌های مختلف یک استرینگ با استفاده از RegEx در زبان PHP


در زبان برنامه‌نویسی پی‌اچ‌پی فانکشنی به اصطلاح Built-in داریم تحت عنوان ()preg_split که این وظیفه را دارا است تا بر اساس الگویی که برایش در نظر می‌گیریم، یک استرینگ خاص را به اجزایش تفکیک کند:

<?php
$string = "html, css,     javascript,           php";
$regex = "/,\s+/";
print_r(preg_split($regex, $string));

ابتدا خروجی اسکریپت فوق را ملاحظه نموده سپس به تفسیر کدها خواهیم پرداخت:

Array
(
    [0] => html
    [1] => css
    [2] => javascript
    [3] => php
)

در واقع، الگویی که در نظر گرفته‌ایم حاکی از آن است که علامت , به‌علاوهٔ یک با بیش از یک بار تکرار اِسپیس که با علائم +s\ مشخص شده است به عنوان عامل جداکننده تلقی شده و بر آن است اجزای این استرینگ از یکدیگر مجزا گردیده و در قالب یک آرایه در معرض دیدمان قرار گیرد. به عنوان مثالی دیگر، فرض کنیم که استرینگی به صورت زیر داریم:

<?php
$string = "html|css|javascript|php";
$regex = "/\|/";
print_r(preg_split($regex, $string));

خروجی این اسکریپت همچون مورد قبل است با این توضیح که زبان‌های برنامه‌نویسی موجود داخل متغیر string$ با علامت | بدون هیچ گونه فاصله‌ای جدا شده‌اند و برای این که الگویی بر این اساس بنویسیم، با توجه به این که علامت | یکی از علائمی است که در رِجِکس دارای معنا و مفهوم خاصی است، می‌باید آن را به اصطلاح اِسکیپ کنیم که برای همین منظور هم داخل رِجِکسی که نوشته‌ایم قبل آن از علامت \ استفاده کرده‌ایم.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان