دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
توبيكات رمضان | رسايل رمضان | ثيمات رمضان | طبخات رمضانية | توبيكات رمضانية | صور عن رمضان | دعاء رمضان
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (6,375 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (4,138 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,091 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (2,402 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,298 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (2,192 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (2,156 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,928 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,755 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,725 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,576 مشاهده)
دروس في الأوفيس الأكسس - Access0- (1,527 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,489 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,468 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,357 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,322 مشاهده)
التعرف على مكونات الكمبيوتر (1,286 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,275 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,265 مشاهده)
درس تعريب المجلة (1,247 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (1,218 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (1,215 مشاهده)
ما هو المات لاب MATLAB؟ (1,171 مشاهده)
مقدمة عن لغة البيسك (1,129 مشاهده)
الفيجوال بيسك - مقدمة (1,090 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (791 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (491 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (551 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (719 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (790 مشاهده)
دمج المراسلات0-- (438 مشاهده)
وضع صورة كخلفية للنص0-- (567 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (385 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (636 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (401 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,275 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (667 مشاهده)
أساسيات في Access0--0 (457 مشاهده)
تصميم تقرير لطباعة البيانات0---- (496 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (481 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (573 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (444 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (376 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (330 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (466 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (421 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (217 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (301 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (329 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (434 مشاهده)
اعلانات في الموقع على جميع الصفحات

Regular Expression--



Regular Expression --2




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

 



    

 



استكمالا للدرس السابق والذي تحدثنا فيه عن معنى الـ Regular Expression     وكيفية إنشائها والاستفادة منها , والدوال التي تستخدم للمقارنة  (Match() – Matches    ()  ), في هذا الدرس سنتعرف على عدد أكبر من الرموز و التي توفر الاستخدام الأقوى للـ Regular Expression       .

 




 



في العبارة           (@"J   .*d   [0-35-9]-dd-dd   ")  


بالدرس السابق نلاحظ وجود * والتي تسمى هي و إشارة الــ + و الـ ؟  بـ quantifier     والجدول التالي يوضح معنى استخدام كل منها.

 





 


  




 Quantifier Matches :

 







 






























*


 



Matches 0 or more character.    


 


 


+

 




Matches 1 or more character.

 




?

 




Matches  0 or 1 character

 




{n}    


 


 


Matches exactly n charachter

 




 {n,}   

 




Matches at least n character.

 




{n,m}


 


 


 

Matches between n and m (inclusive) character.

 


 


^


 


 


Beginning of a string or beginning of a newlineهنا تعني بداية السطر أو بداية النص 


 


 


$


 


 


End of a string before a newline character or at the end of the line    تدل على نهاية النص 


 


 



 




 


الآن سنقوم بعمل Windows     Application     لبرنامج يعمل كواجهة يدخل فيها المستخدم بياناته وبواسطة الـ Regular expression      سنضع شروطا لكل مدخل منها ..

 



     

 



شاهد مخرجات البرنامج أولا ...!

 



 








 




في البرنامج الأخير بالدرس السابق كنا قد بحثنا عن substrings     التي تتطابق مع الـ Regular expression      , ولكن في هذا المثال نريد أن نتأكد من أن البيانات التي يقوم المستخدم بكتابتها تتوافق مع الـ Regular expression     التي قمنا بكتابتها وفقا لشروطنا و هذه أحد استخدامات الـ Regular Expression     

 



 الأوامر التالية مكتوبة عند حدث النقر:

 





 









 




عند ضغط المستخدم على ok      سيقوم البرنامج أولا  في الأسطر(263 - 275) بالتأكد من أن جميع الحقول ممتلئة وغير فارغة وذلك قبل التحقق من البيانات المدخلة فإذا كان واحد أو أكثر من الحقول فارغا سوف يصدر البرنامج عندها رسالة خطأ  للمستخدم (الأسطر 268-269 ). 

 

    ثم في السطر (272) تم استدعاء الدالة Focus    ()من الكلاس TextBox       , و هذه الدالة تضع المؤشر على الـ TextBox       . 

 


الذي استدعى هذه الدالة.

وبعد ذلك في السطر (274) return     التي تقوم بإنهاء حدث النقر Event Handler     

 



 أما إذا لم يكن هناك أي حقل فارغ  فسيبدأ البرنامج بالتحقق من المدخلات, ابتداء من السطر (277):

    أولا نأخذ حقل الـ Last     Input     

 


الأسطر(277 - 286):  للتأكد من صحة كتابة المعلومات الموجودة به.


 


 هنا نلاحظ طريقة أخرى نوعاً ما في كتابة الـ Regular Expression      

 



انظر السطر (278):

 




 



Regex.Match    (this    .textBox1.Text,@"^[A-Z][A    -Za    -z    ]*$")

 




 



بكتابة اسم الكلاس في البداية Regex        يليه اسم الدالة Match       وهنا نرسل بارامترين لها  الأول هو النص الذي نريد أن نجري عليه الاختبار , والثاني هي الـ Regular Expression      

 



التي سنفرضها .

ففي الشرط أتبعنا الجملة السابقة بالخاصية success       وهذه الخاصية تعود بأحد قيمتين إما true or false      ,فإذا تطابقت قيمة المدخل last name     مع الـ Regular     Expression       ستعود الخاصية success      بالقيمة true     وما عدا ذلك false     , ولا حظ وجود علامة النفي ! قبل الشرط أي أنه إذا كانت نتيجة الشرط false     في هذه الحالة فقط سيتم تنفيذ الأسطر (280 - 285), أما إذا كان true             

 



 سينتقل لإجراء الاختبار على الحقل الذي يليه .

 ستستمر  هذه العملية حتى يتحقق من جميع الحقول أو حتى تعود الدالة Succes     بالقيمة false      

 






 عندها سيرسل رسالة خطأ.

 و سنستخدم هذا الأسلوب مع كل حقل من الحقول الأخرى ولكن الاختلاف سيكون في البارمترين المرسلة للدالة.


بقي أن نفصل معنى "^[A-Z][A   -Za    -z    ]*$"   :

 



الجديد فيها هي العلامتين $ و ^ الموجودة في بداية ونهاية الـRegular expression      

 



لتفهم معنى الرمزين على سبيل المثال في خانة Last Name        سنقبل بالاسم "Osama      " ولكن لن نقبل اسما كهذا "@          #Osama      ", يتم إنجاز ذلك بواسطة كتابتنا للرمز ^ في بداية الـ Regular     Expression      والعلامة $ في نهاية الـ Regular     Expression     

 



عادة تستخدم العلامة ^  عندما نريد وضع شرط لمدخل أو نص يجب فيه الابتداء بشيء معين أو العلامة $ عندما نريد النص أن ينتهي بشئ معين و هي مفيدة جدا في مثل حالتنا هذه.


وبعد أن تعرفنا على معنى الرمزين ^ و $ سيكون معنى الـ Regular Expression    هنا هي:أن أول حرف يشترط أن يكون capital     [A-Z    ] أما بقية الحروف فممكن تكون capital or small     [A    -Za    -z    ] والعلامة * تدل على أن الحروف التالية [A    -Za    -z    ] 

 



  قد يكون عددها من 0  فما أكثر.

  إذنففي last     name      

 



 المفترض أن تبدأ بحرف كبير واحد ثم بقية الحروف كيفما أراد المستخدم وعددها غير محدود.

                                     ننتقل للـ First     name        :الأسطر (288 -297)  والشرط الخاص به شبيه جدا بشرط الحقل السابق.

 



          ننتقل لحقل الـ Address      : الأسطر (299 -308 )

 



 بالنسبة للـ Regular expression        الخاصة بها :           "^[0-9]+s+([A    -Za    -z]+|[A    -Za    -z]+s[A    -Za    -z    ]+)$"

 



 عرفنا الآن فائدة العلامتين $^ .


أما بالنسبة للعلامة | فهي تدل على أنه يقوم بتمرير أي من التعبيرين يمين ويسار هذه الاشارة مثلا لو كتبنا hello   (ahmed     | osama    ) بداخل الـ Regular expression     

 

 


فهنا هي تمرر كل من الجملتين التاليتين:

 



      hello     ahmed     , hello     osama      

 



نعود للجملة           "^[0-9]+s+([A    

درس Regular Expression--

أضف هذه المادة في موقعك:
مواد مشابهة:
فتح ملفات الملتيميديا في برنامجك !! فتح ملفات الملتيميديا في برنامجك !!
فتح ملفات الملتيميديا في برنامجك !!
(مرات المشاهدة: 107 مرات)
تحويل الأنواع - التحويل الضمني تحويل الأنواع - التحويل الضمني
تحويل الأنواع - التحويل الضمني
(مرات المشاهدة: 70 مرات)
Exception Handling-- Exception Handling--
Exception Handling--
(مرات المشاهدة: 49 مرات)
التحويل العلني- Explicit Conversion التحويل العلني- Explicit Conversion
التحويل العلني- Explicit Conversion
(مرات المشاهدة: 95 مرات)
المؤشرات في سي شارب المؤشرات في سي شارب
المؤشرات في سي شارب
(مرات المشاهدة: 163 مرات)
السيطرة على الأخطاء - السيطرة على الأخطاء -
السيطرة على الأخطاء -
(مرات المشاهدة: 117 مرات)
الدرس الرابع عشر : بعض المميزات لل method 1 الدرس الرابع عشر : بعض المميزات لل method 1
الدرس الرابع عشر : بعض المميزات لل method 1
(مرات المشاهدة: 165 مرات)
الدرس الثاني : شرح برنامج Print welcome مع بعض المختصرات للطباعة الدرس الثاني : شرح برنامج Print welcome مع بعض المختصرات للطباعة
الدرس الثاني : شرح برنامج Print welcome مع بعض المختصرات للطباعة
(مرات المشاهدة: 119 مرات)
الدوال --2--#Methods in c الدوال --2--#Methods in c
الدوال --2--#Methods in c
(مرات المشاهدة: 74 مرات)
::البرنامج الأول في C#::- ::البرنامج الأول في C#::-
::البرنامج الأول في C#::-
(مرات المشاهدة: 98 مرات)
fot
جميع الحقوق محفوظة :Copyright © All rights reserved