Requlyar ifadə (qısa şəkildə regex və ya regexp), və ya rasional ifadə — mətndə nümunə uyğunluğunu təyin edən simvollar ardıcıllığı və mətndə axtarışı və altsətirlərlə manipulyasiyanı yerinə yetirən formal dil. Adətən, belə nümunələr sətirlərdə "tap" və ya "tap və dəyişdir" əməliyyatları və ya daxilolmaların yoxlanılması üçün sətir axtarış alqoritmləri tərəfindən istifadə olunur. Requlyar ifadə üsulları və formal dil nəzəriyyəsində inkişaf etdirilir.
Requlyar ifadələr anlayışı 1950-ci illərdə amerikalı riyaziyyatçı anlayışını rəsmiləşdirdiyi zaman başlamışdır. Onlar, Unix mətn emal yardım proqramları ilə ümumi istifadəyə verilib. 1980-ci illərdən requlyar ifadələrin yazılması üçün müxtəlif sintaksislər mövcuddur ki, bunlardan biri POSIX standartı, digəri isə geniş istifadə olunan Perl sintaksisidir.
Requlyar ifadələr axtarış sistemlərində, mətn prosessorlarının və mətn redaktorlarının axtarış və dəyişdirmə dialoqlarında, sed və kimi mətn emal proqramlarında və leksik təhlildə istifadə olunur. Requlyar ifadələr bir çox proqramlaşdırma dillərində də dəstəklənir.
Tarixi
Requlyar ifadələr 1951-ci ildə riyaziyyatçı requlyar hadisələr adlanan riyazi yazısından istifadə edərək requlyar dilləri təsvir edərkən yaranmışdır. Bunlar nəzəri kompüter elmində, avtomatlar nəzəriyyəsinin alt sahələrində (hesablama modelləri) və formal dillərin təsviri və təsnifatında yaranmışdır. Nümunə uyğunluğunun digər erkən tətbiqlərinə requlyar ifadələr əvəzinə öz nümunə uyğunluq konstruksiyalarından istifadə edən SNOBOL dili daxildir.
Requlyar ifadələr 1968-ci ildən iki istifadədə populyarlaşmağa başladı: mətn redaktorunda nümunə uyğunluğu və kompilyatorda leksik təhlil. Proqram şəklində requlyar ifadələrin ilk ortaya çıxışlarından biri Ken Tompsonun mətn fayllarında nümunələri uyğunlaşdırmaq üçün bir vasitə olaraq redaktorunda Klin yazısını qurması idi. Sürət üçün Tompson JIT kompilyasiyasının mühüm erkən nümunəsi olan CTTS-də IBM 7094 koduna JIT ilə requlyar ifadə uyğunluğunu tətbiq etdi. Daha sonra o, bu funksiyanı adlı Unix redaktoruna əlavə etdi və nəticədə məşhur axtarış aləti grep-in requlyar ifadələrdən istifadə etməsinə səbəb oldu.
Həmçinin bax
İstinadlar
- Goyvaerts, Jan. "Regular Expression Tutorial – Learn How to Use Regular Expressions". Regular-Expressions.info. 2016-11-01 tarixində . İstifadə tarixi: 2016-10-31.
- Mitkov, Ruslan. The Oxford Handbook of Computational Linguistics. Oxford University Press. 2003. səh. 754. ISBN . 2017-02-28 tarixində . İstifadə tarixi: 2016-07-25.
- Lawson, Mark V. Finite Automata. CRC Press. 17 September 2003. 98–100. ISBN . 27 February 2017 tarixində . İstifadə tarixi: 25 July 2016.
- . "regular expression" // Rasim Əliquliyev (redaktor). İnformatika terminlərinin izahlı lüğəti (az.). Bakı: "İnformasiya texnologiyaları" / "Bakı" nəşriyyatı. 2017. səh. 631. ISBN . 6 sentyabr 2023 tarixində (PDF) (#archive_missing_url).
- Kleene, 1951
- Leung, Hing. "Regular Languages and Finite Automata" (PDF). . 16 sentyabr 2010. 5 dekabr 2013 tarixində (PDF). İstifadə tarixi: 13 avqust 2019.
The concept of regular events was introduced by Kleene via the definition of regular expressions.
- Thompson, 1968
- Johnson və b. 1968
- . A Regular Expressions Matcher // Beautiful Code. . 2007-08-08. 1–2. ISBN . 2020-10-07 tarixində . İstifadə tarixi: 2013-05-15.
- Ritchie, Dennis M. "An incomplete history of the QED Text Editor". 1999-02-21 tarixində . İstifadə tarixi: 9 October 2013.
- Aho, Ullman, 1992, 10.11 Bibliographic Notes for Chapter 10, p. 589
- Aycock, 2003. səh. 98
- citing . "Jargon File 4.4.7: grep". 2003. 2011-06-05 tarixində . İstifadə tarixi: 2009-02-17.
Ədəbiyyat
- Algorithms for finding patterns in strings // (redaktor). Handbook of Theoretical Computer Science, volume A: Algorithms and Complexity. The MIT Press. 1990. 255–300.
- Aho, Alfred V.; Chapter 10. Patterns, Automata, and Regular Expressions (PDF) // Foundations of Computer Science. 1992. 2020-10-07 tarixində . İstifadə tarixi: 2013-12-14.
- Aycock, John. "A brief history of just-in-time" (PDF). ACM Computing Surveys. 35 (2). June 2003: 97–113. CiteSeerX 10.1.1.97.3985. doi:10.1145/857076.857077. 2023-12-17 tarixində (PDF). İstifadə tarixi: 2023-12-20.
- Regular Expressions // The Single UNIX Specification, Version 2. The Open Group. 1997. 2020-10-07 tarixində . İstifadə tarixi: 2011-12-13.
- "Chapter 9: Regular Expressions". The Open Group Base Specifications. The Open Group (6). 2004. IEEE Std 1003.1, 2004 Edition. 2011-12-02 tarixində . İstifadə tarixi: 2011-12-13.
- Cox, Russ. "Regular Expression Matching Can Be Simple and Fast". 2007. 2010-01-01 tarixində . İstifadə tarixi: 2008-04-27.
- . Sams Teach Yourself Regular Expressions in 10 Minutes. Sams. 2004. ISBN .
- Friedl, Jeffrey E. F. Mastering Regular Expressions. . 2002. ISBN . 2005-08-30 tarixində . İstifadə tarixi: 2005-04-26.
- Gelade, Wouter; Neven, Frank. Succinctness of the Complement and Intersection of Regular Expressions. Proceedings of the 25th International Symposium on Theoretical Aspects of Computer Science (STACS 2008). 2008. 325–336. arXiv:0802.2869. 2011-07-18 tarixində . İstifadə tarixi: 2009-06-15.
- Goyvaerts, Jan; Levithan, Steven. Regular Expressions Cookbook. [O'reilly]. 2009. ISBN .
- Gruber, Hermann; Holzer, Markus. Finite Automata, Digraph Connectivity, and Regular Expression Size (PDF). Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP 2008). Lecture Notes in Computer Science. 5126. 2008. 39–50. doi:10.1007/978-3-540-70583-3_4. ISBN . 2011-07-11 tarixində (PDF). İstifadə tarixi: 2011-02-03.
- Habibi, Mehran. Real World Regular Expressions with Java 1.4. Springer. 2004. ISBN .
- Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. Introduction to Automata Theory, Languages, and Computation (2nd). Addison-Wesley. 2000.
- Johnson, Walter L.; Porter, James H.; Ackley, Stephanie I.; Ross, Douglas T. "Automatic generation of efficient lexical processors using finite state techniques". Communications of the ACM. 11 (12). 1968: 805–813. doi:10.1145/364175.364185.
- Kleene, Stephen C. Representation of Events in Nerve Nets and Finite Automata // Shannon, Claude E.; McCarthy, John (redaktorlar ). Automata Studies (PDF). Princeton University Press. 1951. 3–42. 2020-10-07 tarixində (PDF). İstifadə tarixi: 2017-12-10.
- Kozen, Dexter. A completeness theorem for Kleene algebras and the algebra of regular events // [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science. 1991. 214–225. doi:10.1109/LICS.1991.151646. :1813/6963. ISBN .
- Laurikari, Ville. "TRE library 0.7.6". 2009. 2010-07-14 tarixində . İstifadə tarixi: 2009-04-01.
- Liger, François; McQueen, Craig; Wilton, Paul. Visual Basic .NET Text Manipulation Handbook. . 2002. ISBN .
- . Chapter 1: Regular Languages // Introduction to the Theory of Computation. PWS Publishing. 1998. 31–90. ISBN .
- Stubblebine, Tony. Regular Expression Pocket Reference. O'Reilly. 2003. ISBN .
- . "Programming Techniques: Regular expression search algorithm". Communications of the ACM. 11 (6). 1968: 419–422. doi:10.1145/363347.363387.
- . "Apocalypse 5: Pattern Matching". 2002. 2010-01-12 tarixində . İstifadə tarixi: 2006-10-11.
Xarici keçidlər
- DMOZ-da Regular Expressions
- ISO/IEC 9945-2:1993 Information technology – Portable Operating System Interface (POSIX) – Part 2: Shell and Utilities
- ISO/IEC 9945-2:2002 Information technology – Portable Operating System Interface (POSIX) – Part 2: System Interfaces
- ISO/IEC 9945-2:2003 Information technology – Portable Operating System Interface (POSIX) – Part 2: System Interfaces
- ISO/IEC/IEEE 9945:2009 Information technology – Portable Operating System Interface (POSIX) Base Specifications, Issue 7
- Regular Expression, IEEE Std 1003.1-2017, Open Group
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Requlyar ifade qisa sekilde regex ve ya regexp ve ya rasional ifade metnde numune uygunlugunu teyin eden simvollar ardicilligi ve metnde axtarisi ve altsetirlerle manipulyasiyani yerine yetiren formal dil Adeten bele numuneler setirlerde tap ve ya tap ve deyisdir emeliyyatlari ve ya daxilolmalarin yoxlanilmasi ucun setir axtaris alqoritmleri terefinden istifade olunur Requlyar ifade usullari ve formal dil nezeriyyesinde inkisaf etdirilir Mavi vurgular requlyar ifade modelinin uygunluq neticelerini gosterir span class sr h aeiou span span class nv g span h herfinden sonraki saitler Requlyar ifadeler anlayisi 1950 ci illerde amerikali riyaziyyatci anlayisini resmilesdirdiyi zaman baslamisdir Onlar Unix metn emal yardim proqramlari ile umumi istifadeye verilib 1980 ci illerden requlyar ifadelerin yazilmasi ucun muxtelif sintaksisler movcuddur ki bunlardan biri POSIX standarti digeri ise genis istifade olunan Perl sintaksisidir Requlyar ifadeler axtaris sistemlerinde metn prosessorlarinin ve metn redaktorlarinin axtaris ve deyisdirme dialoqlarinda sed ve kimi metn emal proqramlarinda ve leksik tehlilde istifade olunur Requlyar ifadeler bir cox proqramlasdirma dillerinde de desteklenir Tarixi konseptin yaradicisi Requlyar ifadeler 1951 ci ilde riyaziyyatci requlyar hadiseler adlanan riyazi yazisindan istifade ederek requlyar dilleri tesvir ederken yaranmisdir Bunlar nezeri komputer elminde avtomatlar nezeriyyesinin alt sahelerinde hesablama modelleri ve formal dillerin tesviri ve tesnifatinda yaranmisdir Numune uygunlugunun diger erken tetbiqlerine requlyar ifadeler evezine oz numune uygunluq konstruksiyalarindan istifade eden SNOBOL dili daxildir Requlyar ifadeler 1968 ci ilden iki istifadede populyarlasmaga basladi metn redaktorunda numune uygunlugu ve kompilyatorda leksik tehlil Proqram seklinde requlyar ifadelerin ilk ortaya cixislarindan biri Ken Tompsonun metn fayllarinda numuneleri uygunlasdirmaq ucun bir vasite olaraq redaktorunda Klin yazisini qurmasi idi Suret ucun Tompson JIT kompilyasiyasinin muhum erken numunesi olan CTTS de IBM 7094 koduna JIT ile requlyar ifade uygunlugunu tetbiq etdi Daha sonra o bu funksiyani adli Unix redaktoruna elave etdi ve neticede meshur axtaris aleti grep in requlyar ifadelerden istifade etmesine sebeb oldu Hemcinin baxRequlyar ifadelerde simvollarin tesviriIstinadlarGoyvaerts Jan Regular Expression Tutorial Learn How to Use Regular Expressions Regular Expressions info 2016 11 01 tarixinde Istifade tarixi 2016 10 31 Mitkov Ruslan The Oxford Handbook of Computational Linguistics Oxford University Press 2003 seh 754 ISBN 978 0 19 927634 9 2017 02 28 tarixinde Istifade tarixi 2016 07 25 Lawson Mark V Finite Automata CRC Press 17 September 2003 98 100 ISBN 978 1 58488 255 8 27 February 2017 tarixinde Istifade tarixi 25 July 2016 regular expression Rasim Eliquliyev redaktor Informatika terminlerinin izahli lugeti az Baki Informasiya texnologiyalari Baki nesriyyati 2017 seh 631 ISBN 978 9952 434 82 8 6 sentyabr 2023 tarixinde PDF archive missing url Kleene 1951 Leung Hing Regular Languages and Finite Automata PDF 16 sentyabr 2010 5 dekabr 2013 tarixinde PDF Istifade tarixi 13 avqust 2019 The concept of regular events was introduced by Kleene via the definition of regular expressions Thompson 1968 Johnson ve b 1968 A Regular Expressions Matcher Beautiful Code 2007 08 08 1 2 ISBN 978 0 596 51004 6 2020 10 07 tarixinde Istifade tarixi 2013 05 15 Ritchie Dennis M An incomplete history of the QED Text Editor 1999 02 21 tarixinde Istifade tarixi 9 October 2013 Aho Ullman 1992 10 11 Bibliographic Notes for Chapter 10 p 589 Aycock 2003 seh 98 citing Jargon File 4 4 7 grep 2003 2011 06 05 tarixinde Istifade tarixi 2009 02 17 Edebiyyat Algorithms for finding patterns in strings redaktor Handbook of Theoretical Computer Science volume A Algorithms and Complexity The MIT Press 1990 255 300 Aho Alfred V Chapter 10 Patterns Automata and Regular Expressions PDF Foundations of Computer Science 1992 2020 10 07 tarixinde Istifade tarixi 2013 12 14 Aycock John A brief history of just in time PDF ACM Computing Surveys 35 2 June 2003 97 113 CiteSeerX 10 1 1 97 3985 doi 10 1145 857076 857077 2023 12 17 tarixinde PDF Istifade tarixi 2023 12 20 Regular Expressions The Single UNIX Specification Version 2 The Open Group 1997 2020 10 07 tarixinde Istifade tarixi 2011 12 13 Chapter 9 Regular Expressions The Open Group Base Specifications The Open Group 6 2004 IEEE Std 1003 1 2004 Edition 2011 12 02 tarixinde Istifade tarixi 2011 12 13 Cox Russ Regular Expression Matching Can Be Simple and Fast 2007 2010 01 01 tarixinde Istifade tarixi 2008 04 27 Sams Teach Yourself Regular Expressions in 10 Minutes Sams 2004 ISBN 978 0 672 32566 3 Friedl Jeffrey E F Mastering Regular Expressions 2002 ISBN 978 0 596 00289 3 2005 08 30 tarixinde Istifade tarixi 2005 04 26 Gelade Wouter Neven Frank Succinctness of the Complement and Intersection of Regular Expressions Proceedings of the 25th International Symposium on Theoretical Aspects of Computer Science STACS 2008 2008 325 336 arXiv 0802 2869 2011 07 18 tarixinde Istifade tarixi 2009 06 15 Goyvaerts Jan Levithan Steven Regular Expressions Cookbook O reilly 2009 ISBN 978 0 596 52068 7 Gruber Hermann Holzer Markus Finite Automata Digraph Connectivity and Regular Expression Size PDF Proceedings of the 35th International Colloquium on Automata Languages and Programming ICALP 2008 Lecture Notes in Computer Science 5126 2008 39 50 doi 10 1007 978 3 540 70583 3 4 ISBN 978 3 540 70582 6 2011 07 11 tarixinde PDF Istifade tarixi 2011 02 03 Habibi Mehran Real World Regular Expressions with Java 1 4 Springer 2004 ISBN 978 1 59059 107 9 Hopcroft John E Motwani Rajeev Ullman Jeffrey D Introduction to Automata Theory Languages and Computation 2nd Addison Wesley 2000 Johnson Walter L Porter James H Ackley Stephanie I Ross Douglas T Automatic generation of efficient lexical processors using finite state techniques Communications of the ACM 11 12 1968 805 813 doi 10 1145 364175 364185 Kleene Stephen C Representation of Events in Nerve Nets and Finite Automata Shannon Claude E McCarthy John redaktorlar Automata Studies PDF Princeton University Press 1951 3 42 2020 10 07 tarixinde PDF Istifade tarixi 2017 12 10 Kozen Dexter A completeness theorem for Kleene algebras and the algebra of regular events 1991 Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science 1991 214 225 doi 10 1109 LICS 1991 151646 1813 6963 ISBN 978 0 8186 2230 4 Laurikari Ville TRE library 0 7 6 2009 2010 07 14 tarixinde Istifade tarixi 2009 04 01 Liger Francois McQueen Craig Wilton Paul Visual Basic NET Text Manipulation Handbook 2002 ISBN 978 1 86100 730 8 Chapter 1 Regular Languages Introduction to the Theory of Computation PWS Publishing 1998 31 90 ISBN 978 0 534 94728 6 Stubblebine Tony Regular Expression Pocket Reference O Reilly 2003 ISBN 978 0 596 00415 6 Programming Techniques Regular expression search algorithm Communications of the ACM 11 6 1968 419 422 doi 10 1145 363347 363387 Apocalypse 5 Pattern Matching 2002 2010 01 12 tarixinde Istifade tarixi 2006 10 11 Xarici kecidlerVikianbarda elaqeli media fayllar DMOZ da Regular Expressions ISO IEC 9945 2 1993 Information technology Portable Operating System Interface POSIX Part 2 Shell and Utilities ISO IEC 9945 2 2002 Information technology Portable Operating System Interface POSIX Part 2 System Interfaces ISO IEC 9945 2 2003 Information technology Portable Operating System Interface POSIX Part 2 System Interfaces ISO IEC IEEE 9945 2009 Information technology Portable Operating System Interface POSIX Base Specifications Issue 7 Regular Expression IEEE Std 1003 1 2017 Open Group