105 matches
-
Kleene a formalizat descrierea unui "limbaj regulat". Conceptul a intrat în uz comun împreună cu utilitarele de prelucrare a textului din Unix. Astăzi, există diferite sintaxe pentru scrierea expresiilor regulate, una fiind standardul și alta, utilizată pe scară largă, fiind sintaxa Perl. Expresiile regulate sunt folosite în , de dialogurile de căutare și înlocuire ale procesoarelor și editoarelor de text, în utilitare de prelucrare a textului, cum ar fi sed și AWK și în analiza lexicală. Multe limbaje de programare furnizează capabilități regex
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
și expr, și în alte programe, cum ar fi Emacs. Regexurile au fost ulterior adoptate de către o gamă largă de programe, aceste forme incipiente fiind standardizate în standardul POSIX.2 din 1992. În 1980, au apărut regexuri mai complicate în Perl, care inițial au rezultat dintr-un bibliotecă de regex scrisă de (1986), care a scris mai târziu o implementare a "Advanced Regular Expressions" pentru Tcl. Biblioteca Tcl este o implementare hibridă de / cu performanțe îmbunătățite, lăudată de , care a spus
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
Biblioteca Tcl este o implementare hibridă de / cu performanțe îmbunătățite, lăudată de , care a spus, „...pare chiar destul de minunată.” Printre proiectele software care au adoptat implementarea de expresii regulate a lui Spencer din Tcl punerea în aplicare se numără PostgreSQL. Perl a extins ulterior biblioteca inițială a lui Spencer pentru a adăuga mai multe caracteristici noi, dar încă nu avea performanțele sau capabilitățile de manipulare Unicode pe care le avea Advanced Regular Expressions a lui Spencer. O parte din efortul de
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
pentru a adăuga mai multe caracteristici noi, dar încă nu avea performanțele sau capabilitățile de manipulare Unicode pe care le avea Advanced Regular Expressions a lui Spencer. O parte din efortul de proiectare pentru îl reprezintă îmbunătățirea integrării regexurilor în Perl, și de a crește domeniul de aplicare a acestora și a capacităților pentru a permite definirea de . Rezultatul a fost un numit , utilizate pentru a defini gramatici Perl 6 și de a oferi un instrument pentru programatori ce folosesc acest
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
parte din efortul de proiectare pentru îl reprezintă îmbunătățirea integrării regexurilor în Perl, și de a crește domeniul de aplicare a acestora și a capacităților pentru a permite definirea de . Rezultatul a fost un numit , utilizate pentru a defini gramatici Perl 6 și de a oferi un instrument pentru programatori ce folosesc acest limbaj. Aceste reguli menține caracteristicile existente ale regexurilor din Perl 5.x, dar permit și definiția în stil ale unui prin intermediul sub-regulilor. Utilizarea regexurilor în standardele deinformații structurate
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
și a capacităților pentru a permite definirea de . Rezultatul a fost un numit , utilizate pentru a defini gramatici Perl 6 și de a oferi un instrument pentru programatori ce folosesc acest limbaj. Aceste reguli menține caracteristicile existente ale regexurilor din Perl 5.x, dar permit și definiția în stil ale unui prin intermediul sub-regulilor. Utilizarea regexurilor în standardele deinformații structurate pentru modelarea documentelor și bazelor de date a început în anii 1960 și s-a extins în anii 1980, atunci când s-au
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
1960 și s-a extins în anii 1980, atunci când s-au consolidat standardele din industrie, cum ar fi (cu precursorul ANSI „GCA 101-1983”). Nucleul este format din regexuri. Utilizarea sa este evidentă în sintaxa . Începând cu anul 1997, a dezvoltat (Perl Compatible Regular Expressions), care încearcă să imite îndeaproape funcționalitatea regexurilor din Perl și este folosit de multe instrumente moderne, inclusiv de PHP și de Apache HTTP Server. Astăzi, regexurile sunt suportate pe scară largă în limbaje de programare, în programe
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
standardele din industrie, cum ar fi (cu precursorul ANSI „GCA 101-1983”). Nucleul este format din regexuri. Utilizarea sa este evidentă în sintaxa . Începând cu anul 1997, a dezvoltat (Perl Compatible Regular Expressions), care încearcă să imite îndeaproape funcționalitatea regexurilor din Perl și este folosit de multe instrumente moderne, inclusiv de PHP și de Apache HTTP Server. Astăzi, regexurile sunt suportate pe scară largă în limbaje de programare, în programe de procesare de text (lexere speciale), editoare de text avansate, și alte
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
în programe de procesare de text (lexere speciale), editoare de text avansate, și alte programe. Suportul pentru regex face parte din biblioteca standard a multor limbaje de programare, inclusiv Java și Python, și este integrată și în sintaxa altora, inclusiv Perl și ECMAScript. Implementările funcționalităților regex sunt adesea numite motoare regex, și există mai multe biblioteci disponibile pentru reutilizare. O expresie regulată, de multe ori numită șablon (pattern), este o expresie folosită pentru a specifica o mulțime de șiruri de caractere
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
O convenție similară este utilizată și în sed, unde căutarea și înlocuirea sunt date de codice 50 și șabloanele pot fi concatenate prin virgulă pentru a specifica mai multe rânduri, ca codice 51. Această notație este deosebit de bine-cunoscută datorită utilizării sale în Perl, de unde formează parte a sintaxei diferite de șirurile de caractere literale normale. În unele cazuri, cum ar fi sed și Perl, se pot folosi delimitatori alternativi pentru a evita coliziunea cu conținutul, și pentru a evita necesitatea escapării apariției delimitatorului
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
prin virgulă pentru a specifica mai multe rânduri, ca codice 51. Această notație este deosebit de bine-cunoscută datorită utilizării sale în Perl, de unde formează parte a sintaxei diferite de șirurile de caractere literale normale. În unele cazuri, cum ar fi sed și Perl, se pot folosi delimitatori alternativi pentru a evita coliziunea cu conținutul, și pentru a evita necesitatea escapării apariției delimitatorului în conținut. De exemplu, în sed comanda codice 52 va înlocui un codice 47 cu un codice 54, folosind virgula ca delimitator. Standardul IEEE
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
implicită de către mai multe instrumente, acolo unde alegerea modului BRE sau ERE este de obicei o opțiune acceptată. De exemplu, GNU grep are următoarele opțiuni: „grep -E” pentru ERE și „grep -G” pentru BRE (implicit), și „grep -P” pentru expresii Perl. Regexurile Perl au devenit un standard de facto, având un set bogat și puternic de expresii atomice. Perl by are nivele de „bază” sau „extins” separate, unde codice 34 și codice 37 să poată avea sau nu sens literal. Ele sunt întotdeauna
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
mai multe instrumente, acolo unde alegerea modului BRE sau ERE este de obicei o opțiune acceptată. De exemplu, GNU grep are următoarele opțiuni: „grep -E” pentru ERE și „grep -G” pentru BRE (implicit), și „grep -P” pentru expresii Perl. Regexurile Perl au devenit un standard de facto, având un set bogat și puternic de expresii atomice. Perl by are nivele de „bază” sau „extins” separate, unde codice 34 și codice 37 să poată avea sau nu sens literal. Ele sunt întotdeauna metacaractere, așa cum
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
De exemplu, GNU grep are următoarele opțiuni: „grep -E” pentru ERE și „grep -G” pentru BRE (implicit), și „grep -P” pentru expresii Perl. Regexurile Perl au devenit un standard de facto, având un set bogat și puternic de expresii atomice. Perl by are nivele de „bază” sau „extins” separate, unde codice 34 și codice 37 să poată avea sau nu sens literal. Ele sunt întotdeauna metacaractere, așa cum sunt și în modul „extins” pentru POSIX. Pentru a obține sensul lor "literal", ele trebuie escapate
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
să poată avea sau nu sens literal. Ele sunt întotdeauna metacaractere, așa cum sunt și în modul „extins” pentru POSIX. Pentru a obține sensul lor "literal", ele trebuie escapate. Alte metacaractere sunt cunoscute a fi literale sau simbolice doar în funcție de context. Perl oferă mult mai multe funcționalități: regexuri „lazy”, backtracking, grupuri de captură cu nume, și șabloane , toate completări puternice la POSIX BRE/ERE. (Vezi și potrivirea „lazy” de mai jos.) În standardul , Basic Regular Syntax (BRE) impune ca codice 62 și codice 63
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
termenul "clasă de caractere" este utilizat pentru a descrie ceea ce în POSIX se numește "expresii cu paranteze". Din cauza puterii sale de exprimare și a lizibilității (relativ) ușoare, multe alte utilitare și limbaje de programare au adoptat o sintaxă similară cu Perl—de exemplu, [[Java (limbaj de programare)|Java]], [[JavaScript]], [[Python]], [[Ruby]], [[Microsoft]] ., și . Unele limbi și instrumente, cum ar fi și [[PHP]] suportă mai multe variante de regex. Implementările de regex derivate din Perl nu sunt identice și, de obicei, implementează
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
programare au adoptat o sintaxă similară cu Perl—de exemplu, [[Java (limbaj de programare)|Java]], [[JavaScript]], [[Python]], [[Ruby]], [[Microsoft]] ., și . Unele limbi și instrumente, cum ar fi și [[PHP]] suportă mai multe variante de regex. Implementările de regex derivate din Perl nu sunt identice și, de obicei, implementează un subset al facilităților găsite în Perl 5.0, lansat în 1994. Perl încorporează uneori caracteristici găsite inițial și în alte limbaje, de exemplu, Perl 5.10 implementează extensiile sintactice inițial dezvoltate în
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
Java]], [[JavaScript]], [[Python]], [[Ruby]], [[Microsoft]] ., și . Unele limbi și instrumente, cum ar fi și [[PHP]] suportă mai multe variante de regex. Implementările de regex derivate din Perl nu sunt identice și, de obicei, implementează un subset al facilităților găsite în Perl 5.0, lansat în 1994. Perl încorporează uneori caracteristici găsite inițial și în alte limbaje, de exemplu, Perl 5.10 implementează extensiile sintactice inițial dezvoltate în și Python. În Python și în alte implementări (de exemplu, Java), cei trei cuantificatori
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
Unele limbi și instrumente, cum ar fi și [[PHP]] suportă mai multe variante de regex. Implementările de regex derivate din Perl nu sunt identice și, de obicei, implementează un subset al facilităților găsite în Perl 5.0, lansat în 1994. Perl încorporează uneori caracteristici găsite inițial și în alte limbaje, de exemplu, Perl 5.10 implementează extensiile sintactice inițial dezvoltate în și Python. În Python și în alte implementări (de exemplu, Java), cei trei cuantificatori fecvenți (codice 9, codice 16 și codice 14) sunt
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
variante de regex. Implementările de regex derivate din Perl nu sunt identice și, de obicei, implementează un subset al facilităților găsite în Perl 5.0, lansat în 1994. Perl încorporează uneori caracteristici găsite inițial și în alte limbaje, de exemplu, Perl 5.10 implementează extensiile sintactice inițial dezvoltate în și Python. În Python și în alte implementări (de exemplu, Java), cei trei cuantificatori fecvenți (codice 9, codice 16 și codice 14) sunt implicit , deoarece aceștia se potrivesc cu cât mai multe caractere posibil. Regexul
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
față de cea pe care o are în potrivirea șabloanelor. Din acest motiv, unii oameni folosesc termenul de "regex", "regexp", sau pur și simplu "șablon" sau "pattern" pentru a le descrie pe cele din urmă. [[Larry Wall]], autorul limbajului de programare Perl, scria într-un eseu despre proiectarea Perl 6: Unele variante de regex poate fi folosite pentru lucrul cu text în [[limbaj natural]], atunci când este necesar să se ia în considerare posibilele greșeli de ortografie și variante de ortografie. De exemplu
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
potrivirea șabloanelor. Din acest motiv, unii oameni folosesc termenul de "regex", "regexp", sau pur și simplu "șablon" sau "pattern" pentru a le descrie pe cele din urmă. [[Larry Wall]], autorul limbajului de programare Perl, scria într-un eseu despre proiectarea Perl 6: Unele variante de regex poate fi folosite pentru lucrul cu text în [[limbaj natural]], atunci când este necesar să se ia în considerare posibilele greșeli de ortografie și variante de ortografie. De exemplu, textul „Iulius Cezar” ar putea fi o
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
numită . Deși implementările de backtracking garantează doar timpi exponențiali în cel mai râu caz, ele oferă mult mai multă flexibilitate și putere expresivă. De exemplu, orice implementare care permite utilizarea de backreferences, sau pune în aplicare diferite extensii introduse de Perl, trebuie să includă un fel de backtracking. Unele implementari încearcă să ofere ce este mai bun în ambii algoritmi, executând la început un algoritm AFD rapid, recurgând la un algoritm potențial mai lent cu backtracking numai atunci când se întâlnește un
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
regexurilor sunt o resursă utilă pentru învățarea regexurilor prin experimentare. Această secțiune oferă o descriere de bază a unor proprietăți ale modului de ilustrare al regexurilor. În exemple se folosesc următoarele convenții. De asemenea, aceste regexuri sunt toate în sintaxa Perl. Expresiile pe standardul [[#POSIX Basic Regular Expressions|POSIX]] sunt diferite. Dacă nu se indică altfel, următoarele exemple sunt conforme limbajului [[Perl]], versiunea 5.8.8 din 31 ianuarie 2006. Aceasta înseamnă că altor implementări le poate lipsi suportul pentru unele
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
modului de ilustrare al regexurilor. În exemple se folosesc următoarele convenții. De asemenea, aceste regexuri sunt toate în sintaxa Perl. Expresiile pe standardul [[#POSIX Basic Regular Expressions|POSIX]] sunt diferite. Dacă nu se indică altfel, următoarele exemple sunt conforme limbajului [[Perl]], versiunea 5.8.8 din 31 ianuarie 2006. Aceasta înseamnă că altor implementări le poate lipsi suportul pentru unele părți ale sintaxei prezentate aici (de exemplu, regex de bază vs extins, codice 76 vs codice 129, sau lipsa lui codice 86 în locul lui
Expresie regulată () [Corola-website/Science/317028_a_318357]