هذه المقالة جزء من المشروع#ltcode
التعبيرات العادية هي إشارات تم تحديدها في النصوص. تعبير منتظم يتزوج كل سلسلة يحددها.
يتم دعم التعبيرات العادية من خلال برامج خط التحكم المختلفة والعديد من لغات البرمجة من أجل تسهيل حل المشكلات في النص للتعامل. الأمر جريب إنها أداة قوية واسعة النطاق للبحث عن تعبيرات منتظمة في الملفات النصية. يطبع الخطوط التي تتزوج من التعبير العادي المعلن في الإخراج القياسي.
بناء جملة الأمر الأساسي جريب كما يلي:
[grep [opções] Regex [arquivo…]]
- Regex: إنه التعبير العادي الذي تريد البحث عنه.
- ملف …: هذه هي الملفات التي تريد تنفيذ البحث (اختياري).
الخيارات في خطوط الأوامر التي يجب استخدامها جريب:
- -أنا يجهل التمييز بين رأس المال والحروف الصغيرة في البحث.
- -v عكس الزواج ويظهر جميع الخطوط التي لا تحتوي على التعبير العادي.
- -C يوضح عدد الزيجات (أو غير المجالات عند استخدامها مع -V).
- -L إنه يشير فقط إلى أسماء الملفات التي تحتوي على التعبير المتزوج دون الإشارة إلى محتوى الخطوط.
- -L على غرار -L ، ومع ذلك ، يعرض الملفات التي لا تحتوي على التعبير.
- -n بادئة يتم عرض كل سطر متزوج من رقم السطر في الملف.
- -ه بالنسبة لعدة عمليات بحث عن الملفات ، يقمع اسم الملف في الإخراج.
حتى الآن ربما تكون قد استخدمت جريب من أجل البحث عن سلاسل صلبة ، تدعم أيضًا التعبيرات العادية ويمكّن استعلامات البحث الأكثر قوة. الآن دعونا نفهم ما الذي يجعل تعبيرًا منتظمًا:
1.
تعتبر حرف واحد خطًا جديدًا آخر (\ n). هناك نوعان من الشخصيات ، حرفيا وخاصة. لترات شخصيات ممثلة (تتزوج نفسها). تستخدم العروض الخاصة لعرض حفلات الزفاف أكثر تعقيدًا ، مثل: ب:
- التعبير الأساسي العادي: ^ $. [ ] * \
- تمديد التعبير العادي:؟ + () {} |
ومع ذلك ، إذا كان عليك استخدام شخصية خاصة لتمثيل نفسك ، فيجب عليك الهروب منه.
2
يتم استخدام الحدود لتمييز بداية ونهاية التعبير. يتم التعامل معهم كشخصية خاصة في التعبير العادي ، مما يعني أنه لا يمثل نفسه. اعتمادًا على الأداة التي تستخدمها ، يمكنك استخدام أحرف مختلفة مثل الخنادق مثل محرر النصوص. على سبيل المثال ، لا يتم استخدام علامة فصل في GREP.
على سبيل المثال ، يتم استخدام حرف الشريط (/) كفاصل. في بعض الحالات التي لا يوجد فيها عدم اليقين ، يمكن حذف الفاصل الثاني.
3. الأوجه سلسلة
أبسط أشكال التعبير العادي هو سلسلة شائعة بدون أحرف خاصة باستثناء الخندق. سلسلة بسيطة مثل هذا يتوافق بالضبط مع النص الذي يحتوي عليه.
فيما يلي بعض الأمثلة:
/قطة/: يتزوج هذا التعبير المعتاد من الكلمات أو العبارات التي تحتوي على “Cat” في النص باسم “AS”قطة“،”قطةErpillar “،” ققطةtet “.
/أزرق/: سوف يتزوج “أزرق“،”أزرقق “،”أزرقبيري “.
يتوافق كل من هذه التعبيرات مباشرة مع النص ضمن الحد الأقصى ويبحث عن حدوث دقيق لهذه التسلسلات في النص.
4. شخصيات خاصة
نقطة (.):
النقطة هي شخصية تتزوج من كل حرف.
مثال:
- تعبير منتظم: / .alk /
- الزواج: غرفة + كل حرف + “alk”
- أمثلة:
- سوف يتكلم
- يمكن شعاع
- تعبير منتظم: /.ing/
- الزواج: كل شخصية + “جي”
- أمثلة:
- يغني أغنية
- جرس
قوسين ([]):
تُستخدم Menneys لتحديد فئة من الشخصيات بحيث يمكن أن تتزوج كل شخصية داخل الفصل. يتزوج محيط (^) في الأقواس مع كل حرف غير موجود في الفصل ، ويمكن استخدام الواصلة (-) لتحديد فاصل الرسم.
مثال:
- تعبير منتظم: /[bB]مريض/
- الزفاف: “B” أو “B” + “مريض”
- أمثلة:
- الفاتورة
- الفاتورة
- الفاتورةإد
- تعبير منتظم: /ر[aeiou].k/
- الزفاف: “T” + كل حرف علة + أي حرف + “K”
- أمثلة:
- يتكلمالتثال
- قتينك
- تعبير منتظم: /[^a–zA–Z]/
- الزواج: كل شخصية ليست رسالة
- أمثلة:
- 1
- @
النجمة
:
- يمثل Sternchen أحداثًا صفرًا أو أكثر من الشخصية أو التعبير العادي الذي يسبقه.
- مثال:
- تعبير منتظم: /من*ج /
- الزفاف: “A” + Zero أو أكثر “B” + “C”
- أمثلة:
- AC
- ABCديمبي
- ABBBC
- تعبير منتظم: /t.ing/
- الزفاف: “T” + كل تسلسل رسم + “جي”
- أمثلة:
- شيء
- تينغ
فكر في الذهاب
Anker (^ e $):
يتم استخدام المراسي للزواج من البداية (^) أو نهاية ($) للخط.
- مثال:
- تعبير منتظم: /^t /
- الزواج: “T” في بداية الخط
- أمثلة:ر
- خطهار
- رحيل[0-9]تعبير منتظم: /^+
- /
- الزواج: علامة على المزيد (+) ، تليها رقم في بداية السطر
- أمثلة:
- +5+7
- 59
- تعبير منتظم: /: $ /
- الزفاف: نقطتان في نهاية الخط
- أمثلة:… هدير
:
يهرب (\):
من أجل الزواج حرفيًا مع شخصيات خاصة ، يمكنك استخدام الشريط المقلوب (\) للهروب من هذه الشخصيات.
- مثال:
- تعبير منتظم: /end\./
- الزواج: “نهاية” تليها نقطة حرفية
- أمثلة: ال
- نهاية.ق
- نهاية.
- تعبير منتظم: /\* /
- الزواج: النجمة حرفيا
- أمثلة:*
- .Cعلامة النجمة (*
)))
في كل من هذه الأحرف الخاصة ، يمكنك إنشاء تعبيرات منتظمة تلبي أنماط نصية معقدة ومحددة وتمكين البحث والتلاعب في أحجام النص الكبيرة.
5. تجميع التعبيرات العادية
مع مجموعة التعبير العادية ، يمكنك تجميع أجزاء من التعبير باستخدام Escapades (و \). هذا لا ينظم التعبير فحسب ، بل يمكّنك أيضًا من استعادة الأجزاء المتزوجة لاحقًا. فيما يلي المفاهيم والأمثلة الرئيسية:
Combrake Clamps \ (\):
تُستخدم التوترات الغذائية لتجميع جزء من التعبير العادي بحيث يمكن استعادة السلسلة التي تتوافق مع هذه المجموعة لاحقًا.
- مثال:
- تعبير منتظم: /a \ (b*\)
- الزواج: يجمع هذا التعبير بين السلاسل نفسها التي /من*C /، ولكن يمكن استعادة المحتوى بين “A” و “C” كمجموعة منفصلة.
- أمثلة:
- AC
- ABC
ABC
في هذه الحالة ، يمكن استخدام السلسلة ، التي يمكن حفظها واستعادتها “B*” ، للعمليات اللاحقة مثل البدائل أو المراجع.
تعشيش المجموعة:
يمكنك أيضًا عش المجموعات عن طريق وضع مجموعة في مجموعة أخرى. هذا يتيح تسجيل المجموعات الفرعية للبيانات المعقدة.
- مثال:[a–z]تعبير منتظم: \ ([A–Z]\ ((
- *\) x \)
- الزواج: يجمع هذا التعبير بين النمط الذي يتبع فيه رسالة صغيرة من سلسلة من الحروف الرأسمالية ، تليها “X”.
- أمثلة: يتزوج التعبير العادي للسلسلة “3 T Dmanorx7 lu”dmnorx
- أين:[a–z][A–Z]المجموعة الأولى \ ( *x \) المنزل معdmnorx
- .[A–Z]المجموعة الداخلية الثانية \ ( *\) المنزل معمنور
`.
هذا النوع من التجميع مفيد للغاية لالتقاط أجزاء معينة من السلسلة بينما لا يزال هناك معيار أكبر. يمكّنك من إنشاء تعبيرات أكثر تعقيدًا ومنتظمة من أجل أن تكون قادرًا على الوصول إلى الأجزاء المتزوج أو معالجتها كما هو مطلوب.
6. قبل أعلى تسلسل ممكن
في التعبيرات المنتظمة ، القاعدة العامة هي أنك ستحاول دائمًا الزواج من السلسلة الطويلة وتبدأ بالقرب من بداية الخط. هذا يعني أن التعبير المنتظم في معالجة النص يوسع الزواج ضمن حدود المعيار قدر الإمكان.
- أمثلة:
- فريز: “هذا (السجادة) ليس ما كان عليه مرة واحدة (منذ زمن طويل) ، أليس كذلك؟”
- تعبير منتظم: /ث.
- النتيجة: expressão casa com “هذا (السجادة) ليس ما كان عليه (منذ زمن طويل)”.
- Explanation: يبدأ التعبير بـ “th” وبسبب.*يستمر إلى الأخير “هو” تم العثور عليه ويتزوج من التسلسل الطويل بين “TH” و “IS”.
- تعبير منتظم: //(.*)/
- النتيجة: expressão casa com “هذا (السجاد) ليس ما كان عليه مرة واحدة (منذ زمن طويل) ، أليس كذلك؟”
- Explanation: النموذج.
- فريز: “غناء الأغاني ، والغناء أكثر فأكثر”
- تعبير منتظم: /.
- النتيجة: التعبير في المنزل مع “أغاني الغناء ، الغناء”.
- Explanation: بدءًا من “S” ، المعيار.* يعزز “آخر” آخر ويستحوذ على أطول تسلسل “S” إلى “ing” المتزوج.
- تعبير منتظم: /.
- النتيجة: التعبير في المنزل مع “الأغنية الصوتية”.
Explanation: يتزوج المعيار من أعظم التسلسل الذي يبدأ بـ “S” ويحتوي على “الأغنية” ويأخذ فقط الحدث الأول من “الأغنية الصوتية”.
الفصل القادم قريبا.