44,835 matches
-
ambele șabloane valabile care se potrivesc cu aceleași șiruri ca în exemplul anterior, codice 12. Sintaxa exactă a expresiilor regulate variază de la instrument la instrument și de la context la context; mai multe detalii sunt furnizate în secțiunea "Sintaxă". Expresiile regulate descriu limbaje regulate în teoria limbajelor formale. Ele au aceeași putere expresivă ca și . Expresiile regulate constau din constante și operatori care notează mulțimi de șiruri de caractere și, respectiv, operațiuni efectuate pe aceste mulțimi. Următoarea definiție este una standard, găsită ca
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
se potrivesc cu aceleași șiruri ca în exemplul anterior, codice 12. Sintaxa exactă a expresiilor regulate variază de la instrument la instrument și de la context la context; mai multe detalii sunt furnizate în secțiunea "Sintaxă". Expresiile regulate descriu limbaje regulate în teoria limbajelor formale. Ele au aceeași putere expresivă ca și . Expresiile regulate constau din constante și operatori care notează mulțimi de șiruri de caractere și, respectiv, operațiuni efectuate pe aceste mulțimi. Următoarea definiție este una standard, găsită ca atare în majoritatea manualelor
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
Ele au aceeași putere expresivă ca și . Expresiile regulate constau din constante și operatori care notează mulțimi de șiruri de caractere și, respectiv, operațiuni efectuate pe aceste mulțimi. Următoarea definiție este una standard, găsită ca atare în majoritatea manualelor de limbaje formale. Dat fiind un Σ finit, următoarele constante sunt, prin definiție, expresii regulate: Date fiind expresiile regulate R și S, următoarele operațiuni efectuate cu ele produc expresii regulate: Pentru a evita parantezele, se presupune că închiderea Kleene are prioritatea cea
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
rezultatul lui se poate obține cu ajutorul altor operatori. Cu toate acestea, procesul de calcul al unei astfel de reprezentări este complex, iar rezultatul poate necesita expresii de o dimensiune care este mai mare. Expresiile regulate în acest sens pot exprima limbajele regulate, mai exact clasa limbajelor acceptate de . Există, totuși, o diferență semnificativă de compactitate. Unele clase de limbaje regulate pot fi descrise numai prin automate finite deterministe a căror dimensiune crește exponențial în funcție de dimensiunea celei mai scurte expresii regulate echivalente
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
cu ajutorul altor operatori. Cu toate acestea, procesul de calcul al unei astfel de reprezentări este complex, iar rezultatul poate necesita expresii de o dimensiune care este mai mare. Expresiile regulate în acest sens pot exprima limbajele regulate, mai exact clasa limbajelor acceptate de . Există, totuși, o diferență semnificativă de compactitate. Unele clase de limbaje regulate pot fi descrise numai prin automate finite deterministe a căror dimensiune crește exponențial în funcție de dimensiunea celei mai scurte expresii regulate echivalente. Exemplul standard îl constituie aici
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
reprezentări este complex, iar rezultatul poate necesita expresii de o dimensiune care este mai mare. Expresiile regulate în acest sens pot exprima limbajele regulate, mai exact clasa limbajelor acceptate de . Există, totuși, o diferență semnificativă de compactitate. Unele clase de limbaje regulate pot fi descrise numai prin automate finite deterministe a căror dimensiune crește exponențial în funcție de dimensiunea celei mai scurte expresii regulate echivalente. Exemplul standard îl constituie aici limbajele "L" formate din toate șirurile de caractere peste alfabetul {"a","b"} al
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
acceptate de . Există, totuși, o diferență semnificativă de compactitate. Unele clase de limbaje regulate pot fi descrise numai prin automate finite deterministe a căror dimensiune crește exponențial în funcție de dimensiunea celei mai scurte expresii regulate echivalente. Exemplul standard îl constituie aici limbajele "L" formate din toate șirurile de caractere peste alfabetul {"a","b"} al căror literă la indicele "k" de la dreapta este egal cu "a". Pe de o parte, o expresie regulată care descrie "L" este dată de <math />. Generalizând acest șablon
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
este egal cu "a". Pe de o parte, o expresie regulată care descrie "L" este dată de <math />. Generalizând acest șablon la "L" rezultă expresia: <math /> Pe de altă parte, este cunoscut faptul că fiecare automat finit determinist care acceptă limbajul "L" trebuie să aibă cel puțin 2 membri. Din fericire, există un mod simplu de mapare de la expresii regulate la (AFN) mai generale, care nu prezintă o asemenea explozie a dimensiunii; pentru acest motiv, AFN-urile sunt adesea folosite ca
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
aibă cel puțin 2 membri. Din fericire, există un mod simplu de mapare de la expresii regulate la (AFN) mai generale, care nu prezintă o asemenea explozie a dimensiunii; pentru acest motiv, AFN-urile sunt adesea folosite ca reprezentări alternative ale limbajelor regulate. AFN-urile sunt o variație simplă a de tipul 3 din ierarhia Chomsky. În cele din urmă, este de remarcat faptul că multe motoare de „expresii regulate” din lumea reală implementează caracteristici care nu pot fi descrise prin expresii
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
o variație simplă a de tipul 3 din ierarhia Chomsky. În cele din urmă, este de remarcat faptul că multe motoare de „expresii regulate” din lumea reală implementează caracteristici care nu pot fi descrise prin expresii regulate în sensul teoriei limbajelor formale; mai degrabă, acestea pun în aplicare "regexuri". Vezi mai jos pentru mai multe detalii despre aceasta. După cum se vede în multe din exemplele de mai sus, există mai multe modalități de a construi o expresie regulată care dă aceleași
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
aceasta. După cum se vede în multe din exemplele de mai sus, există mai multe modalități de a construi o expresie regulată care dă aceleași rezultate. Este posibil să se scrie un algoritm care, pentru anumite expresii regulate, decide dacă descriu limbaje similare; algoritmul reduce fiecare expresie la , și determină dacă acestea sunt izomorfe (echivalente). Redundanța poate fi eliminată prin utilizarea închiderii Kleene și a pentru a găsi o submulțime interesantă de expresii regulate care încă este complet expresivă, dar a căror
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
acest sens obișnuit pentru a deveni metacaractere. Standardele comune le implementează pe ambele. De obicei, metacaractere sunt codice 38 și codice 35. Caracterele care devin de obicei devin metacaractere când sunt escapate sunt codice 40codice 41 și codice 42. Atunci când se introduc regexuri într-un limbaj de programare, ele pot fi reprezentate ca șiruri de caractere obișnuite, prin urmare, de obicei, între ghilimele; acest lucru este comun în C, Java, Python, de exemplu, unde regexul codice 43 este introdus ca codice 44. Cu toate acestea, ele sunt adesea
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
exemplu, codice 90 se potrivește cu literele mari și cu literele mici "a" și "b". O clasă suplimentară non-POSIX înțeleasă de către unele instrumente este codice 91, care este de obicei definită ca codice 92 plus [[underscore]]. Acest lucru reflectă faptul că în multe limbaje de programare, acestea sunt caracterele care pot fi utilizate în identificatori. Editorul [[Vim]] distinge și clasele "word" și "word-head" (folosind notația codice 93 și codice 94), deoarece în multe limbaje de programare caracterele ce pot apărea la începutul unui identificator nu sunt
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
definită ca codice 92 plus [[underscore]]. Acest lucru reflectă faptul că în multe limbaje de programare, acestea sunt caracterele care pot fi utilizate în identificatori. Editorul [[Vim]] distinge și clasele "word" și "word-head" (folosind notația codice 93 și codice 94), deoarece în multe limbaje de programare caracterele ce pot apărea la începutul unui identificator nu sunt aceleași cu cele care pot apărea și în alte poziții în cadrul identificatorului. Ceea ce standardele POSIX numesc "clase de caractere" sunt frecvent denumite "clase de caractere POSIX" în alte
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
de regex care le suportă. Majoritatea variantelor de regex, 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
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
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ă un subset al facilităților
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
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 implicit , deoarece aceștia se potrivesc cu cât mai multe
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
Cuantificatorii posesivi sunt mai ușor de implementat decât cei "greedy" și "lazy", și sunt de obicei mai eficienți la "runtime". Multe caracteristici găsite în aproape toate bibliotecile moderne de expresii regulate oferă o putere expresivă care depășește pe cea a [[Limbaj regulat|limbajelor regulate]]. De exemplu, multe implementări permit gruparea subexpresiilor cu paranteze și reapelarea valorii care s-a potrivit deja în cadrul aceleeiași expresii (""). Acest lucru înseamnă că, printre alte lucruri, un șablon poate compara șiruri de cuvinte repetate ca „papa
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
sunt mai ușor de implementat decât cei "greedy" și "lazy", și sunt de obicei mai eficienți la "runtime". Multe caracteristici găsite în aproape toate bibliotecile moderne de expresii regulate oferă o putere expresivă care depășește pe cea a [[Limbaj regulat|limbajelor regulate]]. De exemplu, multe implementări permit gruparea subexpresiilor cu paranteze și reapelarea valorii care s-a potrivit deja în cadrul aceleeiași expresii (""). Acest lucru înseamnă că, printre alte lucruri, un șablon poate compara șiruri de cuvinte repetate ca „papa” sau „WikiWiki
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
multe implementări permit gruparea subexpresiilor cu paranteze și reapelarea valorii care s-a potrivit deja în cadrul aceleeiași expresii (""). Acest lucru înseamnă că, printre alte lucruri, un șablon poate compara șiruri de cuvinte repetate ca „papa” sau „WikiWiki”, numite în teoria limbajelor formale "pătrate". Șablonul pentru aceste șiruri de caractere este codice 108. Limbajul pătratelor nu este regulat, și nici [[Limbaje independente de context|independent de context]], din cauza . Cu toate acestea, cu un număr nelimitat de backreference-uri, așa cum este suportată de numeroase instrumente
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
s-a potrivit deja în cadrul aceleeiași expresii (""). Acest lucru înseamnă că, printre alte lucruri, un șablon poate compara șiruri de cuvinte repetate ca „papa” sau „WikiWiki”, numite în teoria limbajelor formale "pătrate". Șablonul pentru aceste șiruri de caractere este codice 108. Limbajul pătratelor nu este regulat, și nici [[Limbaje independente de context|independent de context]], din cauza . Cu toate acestea, cu un număr nelimitat de backreference-uri, așa cum este suportată de numeroase instrumente moderne, este încă . Cu toate acestea, multe instrumente, biblioteci, și motoare
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
Acest lucru înseamnă că, printre alte lucruri, un șablon poate compara șiruri de cuvinte repetate ca „papa” sau „WikiWiki”, numite în teoria limbajelor formale "pătrate". Șablonul pentru aceste șiruri de caractere este codice 108. Limbajul pătratelor nu este regulat, și nici [[Limbaje independente de context|independent de context]], din cauza . Cu toate acestea, cu un număr nelimitat de backreference-uri, așa cum este suportată de numeroase instrumente moderne, este încă . Cu toate acestea, multe instrumente, biblioteci, și motoare care asigură astfel de construcții încă mai
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
încă . Cu toate acestea, multe instrumente, biblioteci, și motoare care asigură astfel de construcții încă mai folosesc termenul "expresie regulată" pentru șabloanele lor. Acest lucru a condus la o nomenclatură în care termenul "expresie regulată" are o semnificație diferită în [[Limbaje formale|teoria limbajelor formale]] 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
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
acestea, multe instrumente, biblioteci, și motoare care asigură astfel de construcții încă mai folosesc termenul "expresie regulată" pentru șabloanele lor. Acest lucru a condus la o nomenclatură în care termenul "expresie regulată" are o semnificație diferită în [[Limbaje formale|teoria limbajelor formale]] 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
Expresie regulată () [Corola-website/Science/317028_a_318357]
-
teoria limbajelor formale]] 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
Expresie regulată () [Corola-website/Science/317028_a_318357]