الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشروع Arabic PHP .NET Framework : م RegularExp

مثبّت
بدأه الحسين في 29 سبتمبر 2004 · 0 رد · 4,641 مشاهدة · في أرشيف قسم منتدى PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1

بسم الله الرحمن الرحيم

أولا قبل أن أبداء أحب أن أشكر الأخ الكريم راكان الحنيطي مشرف هذا القسم علي إدراكه لأهمية الموضوع

وحتي يمكن أكثر عدد ممكن من الإستفادة , فشكرا جزيلا له .

المجموعة System.RegularExpressions

تقدم هذه المجموعة طريقة سهلة للتعامل مع التعبيرات المنتظمة (Regular Expressions)

وبالطبع لا يخفي علي مبرمجي البي أتش بي والبيرل هذا المصتلح

لذلك لن أتترك لشرح التعبيرات المنتظمة , بل سأكتفي بطرح المجموعة System.RegularExpressions

تضم هذه المجموعة الفئات التالية وهي

+ Regex Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة Object الموجودة بالمجموعة System

- تعتبر الفئة الأساسية بالمجموعة System.RegularExpressions

+ Match Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة Object الموجودة بالمجموعة System

- تعبر هذه الفئة علي وحدة تماثل النمط pattern مع النص الممرر input string

وتتميز بعاملين :

* Index : ويعبر عن موقع الحرف الأول للقيمة التي تماثل النمط

* Value : وتمثل القيمة التي تماثل النمط

+ MatchCollection Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة ArrayList الموجودة بالمجموعة System.Collections

- وتمثل مصفوفة من النصوص التي تم تماثلها مع النمط , او بشكل أدق هي مصفوفة عناصرها كائنات من نوع الفئة Match

ويوضح الشكل التالي تركيب المجموعة System.RegularExpressions

(لاحظ أن الأعضاء أمثال الدوال والثوابت والمتغيرات التي تحتها خط تعبر عن أعضاء إستاتيكية Static members)

SystemRegularExpressions.gif

لاحظ أن المجلد System.RegularExpressions يحتوي علي التالي

- الملف Match.php يحتوي علي الفئة Match

- الملف MatchCollection.php يحتوي علي الفئة MatchCollection

- الملف Regex.php يحتوي علي الفئة Regex

كيف يمكننا إستخدام هذه الفئات :

سوف ندرج في مجلد ال bin مجموعة ال System.RegularExpressions كما يلي

Img1-4.gif

يمكننا إستخدام تلك الفئات من خلال عمل تضمين including لمحتويات الملف التالي

WebApplication3/bin/System.RegularExpressions.php

وهذا هو محتوي الملف

<?
include_once "System.php";
include_once "System.Collections.php";

include_once "System.RegularExpressions/Match.php";
include_once "System.RegularExpressions/MatchCollection.php";
include_once "System.RegularExpressions/Regex.php";
?>

مثال لإستخدام الفئة Regex

<script language="php">
// إستخدام مكتبة System.RegularExpressions
include_once "../bin/System.RegularExpressions.php";

    // Creates Regex
    $regexp1 = new Regex("/\\w+/");

    echo "<pre>" . $regexp1->GetType() . "</pre>";

    // IsMatch
    echo "<br> [IsMatch] : " . (( $regexp1->IsMatch("mezo") )? "true" : "false");
    echo "<br> [IsMatch] : " . (( $regexp1->IsMatch("?") )? "true" : "false");

    // Replace
    $regexp1->Pattern = "/m/";
    echo "<br> [Replace] : " . $regexp1->Replace("Hello mezo man", "M");

    $regexp1->Pattern = "/m|h/i";
    echo "<br> [Replace] : " . $regexp1->Replace("Hello mezo man", "M");

    // Split
    $regexp1->Pattern = "/ /";
    echo "<br><pre> [Split] : " . print_r($regexp1->Split("Hello mezo man"), true) . "</pre>";

    $regexp1->Pattern = "/ m/";
    echo "<br><pre> [Split] : " . print_r($regexp1->Split("Hello mezo man"), true) . "</pre>";
</script>

مثال أخر لإستخدام الفئات Regex و MatchCollection و Match

<script language="php">
// إستخدام مكتبة System.RegularExpressions
include_once "../bin/System.RegularExpressions.php";

    // Creates Regex
    $regexp1 = new Regex("/(he\\S*)|(z(o))/");
    $str = "hello mezo , is he man?";

    // Matches
    $matchCol = $regexp1->Matches($str);
    for( $i=0; $i<$matchCol->Count(); $i++ ) {
         $match = $matchCol->Items[$i];
         
         echo "[Match " . ($i+1) . "]<br>";
         echo "Value  : " . $match->Value . "<br>";
         echo "Length : " . $match->Length() . "<br>";
         echo "Index  : " . $match->Index . "<br><hr>";
    }
</script>

وقد أرفقت هنا مثال لإستخدام المجموعة System.RegularExpressions

(لاحظ أن هذا الإطار يعمل مع الإصدار الخامس PHP5)

وأنا في أنتظار اي إستفسار في هذا الموضوع

أنتظروني قريبا مع الدرس القادم والمجموعة System.DateTime , والله الموفق

WebApplication3.rar

29_5.gif

سورة العنكبوت

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

مشروع Arabic PHP.NET

حلم طالما كان يراودني حتي قهرته بحمد الله ليكون حقيقة

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

سلسلة أنماط التصاميم البرمجية Desgin Patterns

سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

كنترول ASP.NET DataGrid CheckBoxColumn

كنترول ProgressBar

كنترول UltraPanel

مشروع الكنترول الأنيق (إهداء للفريق العربي)

الورش الإلكترونية IT Workshops

تعقب الأخطاء error tracing

كنترول ColorPicker لمطوري الويب

RichTextBox Control لمطوري ال ASP.Net

حمل كتاب جافا سكربت عربي

مواضيع مشابهة