تعبير نمطي

التعبير النمطي
1=(?<=\.) {2,}(?=[A-Z]) يتطابق مع فراغ يتكرر مرتين أو أكثر تسبقهما نقطة وبعدهما حرف كبير

التعابير النمطية (بالإنجليزية: Regular expression)‏ هي أسلوب لوصف النصوص والتعرف عليها بطريق وصف مكوناتها من رموز، ووصف علاقات تلك الرموز من توال وتكرار، وذلك بكيفية نظامية يمكن لخوارزمية أن تفسرها وتطبقها على نص مُعطى لاستخراج الجزء المنطبق عليه التعبير النمطي.

تستخدم التعابير النمطية في الحوسبة لمعالجة النصوص وفي مولدات مفسرات لغات البرمجة ولتدقيق مُدخلات البرمجيات، وتوجد تطبيقات لها في معظم لغات البرمجة. نشأ المفهوم في الخمسينيات عندما صاغ عالم الرياضيات الأمريكي ستيفن كول كلاين وصفاً للغة عادية. أصبح المفهوم شائع الاستخدام مع أدوات معالجة النصوص من Unix. منذ ثمانينات القرن العشرين، توجد جمل مختلفة لكتابة التعبيرات العادية، أحدها هو معيار POSIX وغيرها.

نشأة التعبيرات النمطية

نشأت التعبيرات النمطية في عام 1951، عندما وصف العالم الرياضي ستيفن كول كلين اللغات العادية باستخدام تدوينه الرياضي المسمى «مجموعات منتظمة». نشأت هذه في علم الكمبيوتر النظري، في الحقول الفرعية لنظرية الأوتوماتا (نماذج الحساب) ووصف وتصنيف اللغات الرسمية. تتضمن التطبيقات المبكرة الأخرى لمطابقة الأنماط لغة SNOBOL، التي لم تستخدم تعابير عادية، ولكن بدلاً من ذلك تم بناء بنيات مطابقة خاصة بها. دخلت التعبيرات المنتظمة استخدامًا شائعًا منذ عام 1968 في استخدامين: مطابقة النمط في محرر النص والتحليل المعجمى في المترجم. من بين المظاهر الأولى للتعبيرات العادية في شكل برنامج كان كين ثومبسون يقوم بتأليف تدوين كلين في محرر المحرر (QED) كوسيلة لمطابقة الأنماط في الملفات النصية.[1] للسرعة، قام تومبسون بتطبيق مطابقة التعبير المنتظم من خلال التجميع في الوقت المناسب (JIT) إلى كود IBM 7094 على نظام مشاركة الوقت المناسب. وقد أضاف لاحقًا هذه الإمكانية إلى محرر محرر Unix، مما أدى في النهاية إلى استخدام أداة البحث الشائعة grep's للتعبيرات اللامنطقية ("grep" هي كلمة مشتقة من أمر البحث العادي في محرر التحرير: g/re/p تعني «البحث الشامل عن التعبير العادي وطباعة خطوط المطابقة».[2] في نفس الوقت تقريباً عندما طور تومسون QED، قامت مجموعة من الباحثين بما في ذلك Douglas T. Ross بتطبيق أداة مبنية على التعبيرات العادية التي تستخدم في تحليل المفردات في تصميم المترجم.

مفاهيم أساسية

التعبير العادي، الذي يُطلق عليه غالباً النمط، هو تعبير يستخدم لتحديد مجموعة من السلاسل المطلوبة لغرض معين. طريقة بسيطة لتحديد مجموعة محدودة من السلاسل هي أن تدرج عناصرها أو أعضائها. ومع ذلك، فغالبًا ما تكون هناك طرق أكثر تحديدًا لتحديد مجموعة السلاسل المطلوبة. على سبيل المثال، يمكن تحديد المجموعة التي تحتوي على السلاسل الثلاث "Handel" و "Händel" و "Haendel" من خلال النمط:'H(ä|ae?)ndel'نقول أن هذا النمط يتطابق مع كل من السلاسل الثلاثة. في معظم الأشكال الشكلية، إذا كان هناك تعبير عادي واحد على الأقل يتطابق مع مجموعة معينة، فسيكون هناك عدد لا نهائي من التعبير العادي الآخر الذي يطابقها أيضًا - فالمواصفات ليست فريدة من نوعها. معظم الشكليات توفر العمليات التالية لبناء تعبيرات نمطية.

منطقي «أو» : شريط عمودي يفصل بين البدائل. فمثلا،gray|grey يمكن أن يتطابق مع "gray" أو "grey". التجميع : تستخدم الأقواس لتعريف نطاق وأسبقية المشغلين (بين الاستخدامات الأخرى). على سبيل المثال،gray|grey و gr(a|e)yهي أنماط مكافئة تصف كلاهما مجموعة "gray" أو "grey". تحديد الكميات : يحدد الكمي بعد الرمز المميز (مثل الحرف) أو المجموعة عدد مرات سماح حدوث هذا العنصر السابق. القياسات الأكثر شيوعًا?,*,+. ؟ تشير علامة الأستفهام إلى 0 أو 1 من التكرار. * تشير علامه النجمة إلى 0 أو أكثر من التكرار. + تشير علامه الجمع إلى 1 أو أكثر من التكرار.

الأحرف العادية

يمكن استخدام الأحرف العادية في التعبيرات المنتظمة، للبحث عن كلمة: فصل، فكل ما عليك هو كتابة الكلمة في مربع البحث وسيتم البحث عنها.

جميع الأحرف يمكن البحث عنها مباشرة، فمثلا لكي نبحث عن الحرف س، فإنا نكتب س مجردة فيبحث عنها يستثنى من ذلك 11 رمزا هي (الرموز الخاصة)، وهي تلك الرموز التي لها معان خاصة في التعبيرات القياسية وهي:

  • [ : معقوفة فاتحة
  • \ : ابطال فعالية الرمز ومعاملته كحرف أو رمز عادي.
  • ^ : بداية الصفحة.
  • $ : علامة دولار. نهاية الصفحة.
  • . : نقطة. أي شيء عدا فاصل الأسطر.
  • | : عمود عمودي.
  • ? : علامة استفهام.
  • * : علامة نجمة.
  • + : علامة زائد.
  • (: قوس فاتح.
  • ): قوس غالق.

للبحث عن أي حرف غير الـ 11 السابقة، اكتب الحرف مباشرة. أما للبحث عن رمز من هذه الرموز الـ 11 فينبغي أن توضع قبله العلامة \ وإلا فسيكون للرمز معناه الخاص.. فمثلا: لكي تبحث عن 1+1=2

ينبغي أن تكتب التعبير الآتي

1\+1=2

لاحظ، وضعنا العلامة \ قبل حرف + لأنه من الرموز الخاصة، ونحن هنا لا نريد معناه الخاص، بل نريد البحث عنه كما هو.

فئات الأحرف

إذا وضعت عددا من الأحرف داخل المعقوفين [ ]، فهذا ما يسمى بفئات الأحرف. مثلا [ة رك].

ومعناها أنك تريد حرفا واحدا من هذه الفئة. تذكر: حرفا واحدا، فالبحث عن فصل يجد الكلمة كلها أي الحروف الثلاثة فصل متوالية أما البحث عن [فصل] فهو يجد حرفا واحدا من الثلاثة، ف أو ص أو ل وليس الكلمة كلها.

يمكن وضع مجالات داخل الأقواس، مثلا [0-9] يبحث عن أي رقم من صفر إلى 9 لكنه يجد رقما واحد مثل 5 وليس مثل 549.

مهما وضعت داخل قوس المجموعة، تذكر أنه يمثل رمزا واحدا، فمثلا

[0-9a-zA-Z]

يجد أي حرف أجنبي كبير أو صغير أو رقم، لكنه يعود بواحد فقط من هؤلاء (أول واحد يصادفه).

هناك في القوائم (انظر صورتها فيما سبق) أوامر لإدراج: حرف عربي، تشكيل، حرف عربي أو تشكيل، حرف أجنبي. وهي كلها تطبيق على استعمال فئات الأحرف فهي تعبيرات قياسية جاهزة معدة مسبقا، تدرج في مربع النص بمجرد اختيار الأمر.

من أهم استخدامات المجموعات هي: إيجاد الكلمة حتى لو بها خطأ إملائي فمثلا عندما تبحث عن [أا]حمد، فمعنى هذا أنك تريد أن تبحث عن أحمد أو احمد، سواء أكان هذا أم هذا، فكلاهما سيعتبر نتيجة صحيحة.

- تطبيق: هل يمكن أن تبحث عن [آإا]حمد وتستبدله بـ أحمد، لتصحيح الخطأ الإملائي

- الجواب: لا، لأن أحمد صحيحة كاسم علم واحمد أيضا صحيحة كفعل أمر ثلاثي همزته همزة وصل كقولك: احمد الله

لكن: يمكن مثلا استبدال الإمام [آإا]حمد بـ الإمام أحمد، أو [آإا]حمد بن حنبل بـ أحمد بن حنبل

ما سبق كان مثالا فقط، ومع التفكير، ستجد أن هناك ما لا يحصى من الاستخدامات للتعبيرات القياسية، يمكن استخدامها لإصلاح كثير من الأخطاء المتكررة في النصوص

الفئات المنفية

إذا وضعت هذه العلامة ^ قبل الأحرف داخل المعكوفين هكذا [^] ، فمعناه أنك تريد أي شيء ما عدا هذه الأحرف، مثلا [ة رك^]

وكما سبق أيضا فإنها تجد حرفا واحدا بشرط ألا يكون في المجموعة المنفية، فالمثال السابق[ة رك^] يجد ب أو ت أو ج أو... أي حرف سوى ة رك.

بعض الرموز الخاصة

نذكر هنا بعضا من الرموز الخاصة ومعانيها، وغالبها ستجده في القوائم لإدراجه بسهولة

\s أي مسافة بيضاء، وهي كل ما لا ترى له جرما مطبوعا، مثل: المسافة وفاصل الأسطر (زر Enter)، ونحوها

\S أي شيء بخلاف المسافة البيضاء

\d أي رقم 0-9

\D أي شيء ليس رقما

\r\n فاصل الأسطر (= زر Enter)

المواضع

وهي لا تقابل حرفا معينا بل تقابل موضعا مثلا: أول الصفحة، أول السطر ...

فمثلا، للبحث عن كلمة فصل بشرط أن تكون في أول الصفحة، اكتب ^فصل.

لتبحث عن كلمة في أول السطر مثلا، يمكن استعمال فاصل الأسطر قبلها، لكنه لن يجد الكلمة لو كانت في أول الصفحة (مع أنها في بداية السطر)، لأنه ليس قبلها فاصل أسطر، لهذا تجد في القوائم - كمحاولة لحل هذه المشكلة - :

- بداية السطر: وهو يقوم بإدراج التعبير (?:^|\r\n) وهو يعني بداية السطر (أو بداية الصفحة)

- نهاية السطر: وهو يقوم بإدراج التعبير (?:$|\r\n) وهو يعني نهاية السطر (أو نهاية الصفحة)

الاستخدامات

تُعد Regexes مفيدة في مجموعة متنوعة من مهام معالجة النصوص، وعمومًا معالجة السلسلة، حيث لا يلزم أن تكون البيانات نصية. وتشمل التطبيقات الشائعة التحقق من صحة البيانات، وكشط البيانات (وخاصة كشط الويب)، ومعالجة البيانات، والتحليل البسيط، وإنتاج أنظمة تلوين صياغة الشيفرات البرمجية، والعديد من المهام الأخرى.

في حين أن regexes سيكون مفيدًا على محركات البحث على الإنترنت، إلا أن معالجتها عبر قاعدة البيانات بأكملها يمكن أن تستهلك موارد الكمبيوتر المفرطة اعتمادًا على تعقيد التصميم المعتاد وتصميمه. على الرغم من أنه في كثير من الحالات يمكن لمسؤولي النظام تشغيل الاستعلامات المستندة إلى regex داخليًا، إلا أن معظم محركات البحث لا تقدم دعمًا للتعبير العادي للجمهور. استثناءات ملحوظة: Google Code Search، Exalead. ومع ذلك، فقد تم إغلاق Google Code Search اعتبارًا من مارس 2013.[3]

مراجع

  1. ^ "History of QED". مؤرشف من الأصل في 1999-02-21.
  2. ^ "grep". مؤرشف من الأصل في 2019-02-02. اطلع عليه بتاريخ 2021-04-24.
  3. ^ Replacement for Google Code Search? - Stack Overflow نسخة محفوظة 09 نوفمبر 2017 على موقع واي باك مشين.

Read other articles:

Andrei Sidelnikov Informasi pribadiNama lengkap Andrei Gennadyevich SidelnikovTanggal lahir 8 Maret 1980 (umur 44)Tempat lahir Moskow, Uni SovietTinggi 1,90 m (6 ft 3 in)Posisi bermain Penjaga gawangInformasi klubKlub saat ini FC AktobeNomor 55Karier senior*Tahun Tim Tampil (Gol)1997 FC Spartak Moscow 0 (0)1998–2000 FC Spartak-2 Moscow 29 (0)2000 FC Spartak Tambov 11 (0)2001–2002 FC Dinamo Minsk 14 (0)2003–2004 FC Khimki 0 (0)2004 FC Spartak Tambov 13 (0)2005 FC Khi...

 

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article concernant le catch doit être recyclé (juin 2021). Une réorganisation et une clarification du contenu paraissent nécessaires. Améliorez-le, discutez des points à améliorer ou précisez les sections à recycler en utilisant {{section à recycler}}. Pour les articles homonymes, voir Ambrose et Good. Jon MoxleyJon Moxley en 2019.Données généralesNom de naissance Jonathan David GoodNom de ring J...

 

تاريخ العراق الحديث الاحتلال البريطاني للعراق ثورة العشرين الانتداب البريطاني على العراق تأسيس العراق الحديث المملكة العراقية التأسيس المجلس التأسيسي فيصل الأول غازي الأول فيصل الثاني عبد الإله الهاشمي رشيد عالي الكيلاني ثورة رشيد عالي الكيلاني نوري السعيد عبد المحسن �...

American real estate company The Irvine Company LLCIrvine Company headquarters in Newport Beach, CaliforniaCompany typePrivateIndustryReal estateCommunity developmentProperty investmentUrban planningUrban designFounded1864; 160 years ago (1864)FounderJames IrvineLlewelyn BixbyBenjamin FlintThomas FlintHeadquartersNewport Beach, California, U.S., United StatesNumber of locationsChicago, New York City, Los Angeles County, Orange County, San Diego County, Silicon ValleyArea ser...

 

Le bombardement du 26 mai 1944 est une opération militaire de l'United States Army Air Forces (USAAF) qui a eu lieu pendant la Seconde Guerre mondiale, dans le Sud-Est et le Centre-Est de la France. Opération Cette opération entrait dans le cadre du Transportation Plan (en), plan d'attaque des voies de communication, destiné à préparer le débarquement en Normandie, arrêté le 25 mars 1944. Il s'agissait de détruire des infrastructures de chemin de fer, notamment des gares de tri...

 

Masjid Al-Rahma atau Al-Rahma Mosque & Liverpool Muslim Society adalah sebuah Masjid yang didirikan pada 1953 yang diawali dari sebuah ruangan di dalam rumah seorang muslim Inggris. Al Rahma Mosque terletak Hatherley Sunni Street di Toxteth, Liverpool, Inggris, yang dapat mengakomodasi antara 2.000 dan 2.500 orang jamaah. Konstruksi Masjid dikerjakan pada tahun 1965 dan aula utama selesai pada tahun Juli 1974 melayani 3.000 populasi Muslim pada saat itu. Pertama lantai kecil, Madrasah, da...

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (November 2020) (Learn how and when to remove this message) Administrative law of the United States General Rulemaking Notice of proposed rulemaking Adjudication Administrative law judge Code of Federal Regulations Federal Register Statutory framework Administrative Procedure Ac...

 

Pour les articles homonymes, voir Édouard Ier. Édouard Ier Le roi Édouard Ier Titre Roi de Portugal et des Algarves 14 août 1433 – 9 septembre 1438(5 ans et 26 jours) Prédécesseur Jean Ier de Portugal Successeur Alphonse V de Portugal Biographie Dynastie Dynastie d'Aviz (branche directe) Date de naissance 31 octobre 1391 Lieu de naissance Viseu (Portugal) Date de décès 9 septembre 1438 (à 46 ans) Lieu de décès Tomar (Portugal) Père Jean Ier de Port...

 

1997 filmBeauty and the Beast:The Enchanted ChristmasNorth American VHS coverDirected byAndy KnightWritten by Flip Kobler Cindy Marcus Bill Motz Bob Roth Produced by Lori Forte Susan Kapigian Starring Paige O'Hara Robby Benson Jerry Orbach David Ogden Stiers Angela Lansbury Haley Joel Osment Bernadette Peters Tim Curry Paul Reubens Edited byDaniel LeeMusic byRachel PortmanProductioncompanyWalt Disney Television Animation[1]Distributed byWalt Disney Home VideoRelease date November ...

NGC 4143   الكوكبة السلوقيان[1]  رمز الفهرس NGC 4143 (الفهرس العام الجديد)UGC 7142 (فهرس أوبسالا العام)PGC 38654 (فهرس المجرات الرئيسية)2MASX J12093608+4232031 (Two Micron All-Sky Survey, Extended source catalogue)MCG+07-25-036 (فهرس المجرات الموروفولوجي)Z 215-39 (فهرس المجرات وعناقيد المجرات)UZC J120936.1+423203 (فهرس زفيكي المحدّث)Z ...

 

AutoSketch 9 running on Windows XP Professional AutoSketch is a 2D vector drawing program by Autodesk. It is less powerful than Autodesk's AutoCAD and does not support 3D models. AutoSketch uses SKD and SKF, in later versions, as its native format,[citation needed] but can support DWG and DXF. Version 2.1 for Windows supported macros which has been removed in later versions. History AutoSketch ad from Sep 13, 1988 issue of PC Magazine AutoSketch was developed by Foresight Resources un...

 

Genre of rock music Space metal redirects here. For other uses, see Space Metal. For other uses, see Space rock (disambiguation). Space rockStylistic originsPsychedeliaProgressive rockSpace musicCultural originsLate 1960s and early 1970s, United KingdomDerivative formsPost-rockshoegazeOther topics Alternative rock ambient music experimental rock indie rock krautrock minimal music noise pop Space rock is a music genre characterized by loose and lengthy song structures centered on instrumental ...

Egyptian javelin thrower Ihab AbdelrahmanAbdelrahman at the 2016 Bislett GamesPersonal informationFull nameIhab El Sayed AbdelrahmanBorn (1989-05-01) 1 May 1989 (age 35)Kafr Saqr, El Sharqia Governorate, EgyptHeight1.94 m (6 ft 4 in)[1]Weight96 kg (212 lb)SportCountry EgyptSportTrack and fieldEventJavelin throwCoached byPetteri Piironen[2]Achievements and titlesPersonal bestsNR 89.21 m (2014) Medal record Representing  Egypt World C...

 

Dieser Artikel behandelt das Tunnelbauwerk. Zum Gesamtprojekt der Querung und den zusätzlichen Aus- und Umbaumaßnahmen auf Lolland und Fehmarn siehe Feste Fehmarnbeltquerung. Fehmarnbelttunnel DeutschlandFemern Bælt-tunnelen Danemark Nutzung Straßen- und Eisenbahntunnel Verkehrsverbindung Vogelfluglinie Ort Fehmarnbelt Länge 18,1 km Anzahl der Röhren 4[1] Querschnitt 376 m²[1] Bau Bauherr Femern A/S (femern.de) Baukosten 7,4 Mrd. Euro (Kostenschätzung April ...

 

Questa voce sull'argomento società calcistiche uzbeke è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. PFK PaxtakorCalcio Segni distintiviUniformi di gara Casa Trasferta Colori sociali Giallo Dati societariCittàTashkent Nazione Uzbekistan ConfederazioneAFC Federazione UFF Fondazione1956 Presidente Bobur Shodiev StadioPakhtakor Markaziy(55.000 posti) Sito webwww.pakhtakor.uz PalmarèsTitoli nazionali16 Campionati uzbeki Trofei nazionali13 Coppe d...

Katedral NiceKatedral Santo Reparatabahasa Prancis: Cathédrale Sainte-Réparate de NiceKatedral NiceKoordinat: 43°41′50″N 7°16′33″E / 43.69722°N 7.27583°E / 43.69722; 7.27583LokasiNiceNegaraPrancisDenominasiGereja Katolik RomaArsitekturStatusKatedralStatus fungsionalAktifAdministrasiKeuskupanKeuskupan Nice Katedral Nice (bahasa Prancis: Basilique-Cathédrale Sainte-Marie et Sainte-Réparate de Nice) adalah sebuah gereja katedral Katolik yang terlet...

 

Werelddouaneorganisatie (WDO) Geschiedenis Opgericht 26 januari 1953 Structuur Plaats Brussel, België Media Website http://www.wcoomd.org Hoofdkantoor in Brussel De Werelddouaneorganisatie (WDO) of World Customs Organization (WCO) is een wereldwijde intergouvernementele organisatie dat zich bezighoudt met zaken omtrent douane. Het hoofdkwartier van de organisatie is in Brussel. Zo goed als alle landen ter wereld zijn lid van de organisatie. De Werelddouaneorganisatie werd in 1952 opgericht ...

 

Questa voce o sezione sull'argomento Competizioni calcistiche non è ancora formattata secondo gli standard. Commento: Si invita a seguire il modello di voce Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. A questa voce o sezione va aggiunto il template sinottico {{Edizione di competizione sportiva}} Puoi aggiungere e riempire il template secondo le istruzioni e poi rimuovere questo avviso. Se non sei ...

Ruined castle in County Kilkenny, Ireland Dysart CastleCounty Kilkenny, Ireland Castle ruinsDysart CastleCoordinates52°30′7.24″N 7°7′17.56″W / 52.5020111°N 7.1215444°W / 52.5020111; -7.1215444TypeMedieval castleSite informationConditionRuin, in need of restorationSite historyBuilt14th century Dysart Castle is a castle ruins and property just outside Thomastown in County Kilkenny, Ireland. History It is best known as the childhood home of George Berkeley (16...

 

Social class Upper class in modern societies is the social class composed of people who hold the highest social status, usually are the wealthiest members of class society, and wield the greatest political power.[1] According to this view, the upper class is generally distinguished by immense wealth which is passed on from generation to generation.[2] Prior to the 20th century, the emphasis was on aristocracy, which emphasized generations of inherited noble status, not just re...