استثمر للحياة

مواضيعنا

التعبيرات القياسية Regular Expressions

حجم الخط

التعبيرات القياسية  Regular Expressions

عند القيام بتنسيق عدداً من الملفات الكبيرة ، و كانت الملفات تحتوي على سطور خالية، ومسافات في نهاية السطور ،

والكثير من الكلمات التي يجب استبدالها ، فإن القيام بهذا العمل يدوياً يكون أمراً شاقاً و ربما لا يكون دقيقاً ,  لذا كان علينا التعرف  التعبيرات القياسية التي تدعى Regular Expressions  أو  Regex  ، و التي توفر   ساعات طويلة من العمل الشاق ! فالتعبيرات القياسية regex  هي أسلوب متقدم للتعامل مع النصوص ، لتوفير الوقت والمجهود المبذول , تقوم بالبحث داخل نص معين عن كلمات او جمل بغرض عمل مقارنة عليها وإستخراج الكلمة او الجملة المُطبق عليها التعبير القياسي , والتعابير القياسية يمكن إستخدامها في عديد من اللغات البرمجةنظرا لقوتها في تعامل مع النصوص والبحث داخلها فهي تسهل علينا عمل كثيرا . و يوجد نوعين من التعبيرات القياسية ، الأول أساسي  "Basic"  والآخر ممتد  "Extended".


مثال على التعابير القياسية :

نفترض أننا نملك ملف يحتوي على إميلات عديدة   yahoo,gmail,Hotmail  ونريد من سكربت أن يطبع لنا فقط اميلات  yahoo .  يكون من الصعب علينا استخراج ايميلات yahooفقط يدوياً هنا نستخدم التعبير القياسي .
 

استخدامRegular Expression Regex  في تهيئة النصوص


بداية سنستخدم كلا من \ | () [] ^ $ * + ? . <>

  تعني أول السطر.

  $  تعني آخر السطر.

   تعني "أو" ... هذا الرمز موجود فوق إنتر . فعلى سبيل المثال إذا كتبنا "abc|xyz" سيطابق كلمة "abc"
و سيطابق أيضاً كلمة "xyz"

 

     تعني أي محرف (حرف، رقم، علامة ) .  

   &   تعني قيمة ناتج البحث .
(على سبيل المثال إذا كنا نبحث عن "log" وسنستبدلها بـ "in&" سيظهر في النهاية "login")

   ?   تعني يوجد مرة واحدة على الأقل أو لا يوجد تماماً ، فعلى سبيل المثال إذا كتبنا "ab?c" سيطابق كلمة "abc"
و سيطابق أيضاً كلمة "ac". ان لم يجد حرف b


     تعني لا يوجد أو عدد لا نهائي من المرات.


     تعني يوجد مرة واحدة على الأقل أو أكثر من مرة . فمثلا ab+c  سيطابق كلمات abc , abbbbc و لكن لن يطابق ac 


  [ ]   تعني الكل . فهذه العبارة  [0-9] معناها كل الارقام من 0 الى 9

 

   [^]   تعني استثناء المذكور بعد علامة ^ فمثلا لاستثناء الحروف الكبيرة نكتب   [A-Z^]                                             

   t\   تعني tab .

  s\  تعني مسافة .

  S\  تعني أي حرف عدا المسافة .

  n\  تعني سطر جديد، أي كأنك ضغطت زر Enter .

  d\  تعني أي رقم مثلها مثل [9-0] .

  D\  تعني أي شيء عدا الأرقام [9-0] .

   w\  تعني أي كلمة (مكونة من حروف أو أرقام أو علامة"_") مثل [_A-Za-z0-9]


  W\  تعني أي شيء عدا الكلمات (أي الرموز الأخرى) [_A-Za-z0-9^]


    x\    للتحكم فى الارقام الستعشرية ..... مثلا [A-Fa-f0-9]



راجع veiw

 

الموضوع  :  *التعبيرات القياسية Regular Expressions * المرجع : استثمر للحياة  investolife 


اعلان تجاري
اعلان 468