المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مشروع Arabic PHP .NET Framework : RegularExp, System.RegularExpress



Chakira
11-01-2013, بتوقيت غرينيتش 09:41 AM
http://www.dzbatna.com/images/icons/iconrote.gif ظ…ط´ط±ظˆط¹ Arabic PHP .NET Framework : RegularExp, System.RegularExpress (http://www.dzbatna.com/t607720/)



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

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

المجموعة 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

ويوضح الشكل التالي تركيب install المجموعة System.RegularExpressions
(لاحظ أن الأعضاء أمثال الدوال والثوابت والمتغيرات التي تحتها خط تعبر عن أعضاء إستاتيكية Static members)
http://www.arabteam2000.com/picload/Files/SystemRegularExpressions.gif
لاحظ أن المجلد System.RegularExpressions يحتوي علي التالي
- الملف Match.php يحتوي علي الفئة Match
- الملف MatchCollection.php يحتوي علي الفئة MatchCollection
- الملف Regex.php يحتوي علي الفئة Regex

كيف يمكننا إستخدام هذه الفئات :
سوف ندرج في مجلد ال bin مجموعة ال System.RegularExpressions كما يلي
http://www.arabteam2000.com/picload/Files/Img1-4.gif
يمكننا إستخدام تلك الفئات من خلال عمل تضمين including لمحتويات الملف التالي
WebApplication3/bin/System.RegularExpressions.php
وهذا هو محتوي الملف
رمز PHP:

<code style="white-space:nowrap"> <code> <?
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";
?> </code> </code>


مثال لإستخدام الفئة Regex
رمز PHP:

<code style="white-space:nowrap"> <code> 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> &#91;IsMatch&#93; : " . (( $regexp1->IsMatch("mezo") )? "true" : "false");
echo "<br> &#91;IsMatch&#93; : " . (( $regexp1->IsMatch("?") )? "true" : "false");

// Replace
$regexp1->Pattern = "/m/";
echo "<br> &#91;Replace&#93; : " . $regexp1->Replace("Hello mezo man", "M");

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

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

$regexp1->Pattern = "/ m/";
echo "<br><pre> &#91;Split&#93; : " . print_r($regexp1->Split("Hello mezo man"), true) . "</pre>";
</script>
</code> </code>


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

<code style="white-space:nowrap"> <code> 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&#91;$i&#93;;

echo "&#91;Match " . ($i+1) . "&#93;<br>";
echo "Value : " . $match->Value . "<br>";
echo "Length : " . $match->Length() . "<br>";
echo "Index : " . $match->Index . "<br><hr>";
}
</script>
</code> </code>

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

وأنا في أنتظار اي إستفسار في هذا الموضوعhttp://www.dzbatna.com/images/smilies/nosweat.gif

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






ألعاب الأندرويد مجانا و حصريا (http://www.apotox.info/forum)




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى