Pravidelné výrazy Poznámkový blok: popis, výmena a príklady

Pravidelný výraz Poznámkový blok je teória formálneho jazyka, sekvencia znakov, ktorá definuje vyhľadávací vzor. Táto šablóna sa zvyčajne používa pomocou algoritmov vyhľadávania reťazcov na operácie "nájsť" alebo "nájsť a nahradiť" v riadkoch. Ale poďme sa pozrieť na všetko v poriadku a zvážiť túto tému podrobnejšie.

Opis princípu regulárnych výrazov

Koncept vznikol v 50-tych rokoch, keď formálny popis amerického matematika Stephen Cole Clini formalizoval popis obyčajného jazyka. Tento koncept je široko používaný s nástrojmi na spracovanie textu Unix. Od 80. rokov 20. storočia existujú rôzne syntaxy pre regulárne výrazy, z ktorých jeden je POSIX štandard a iný bežne používaný je Perl syntax.
Pravidelné výrazy programu Poznámkový blok používajú vyhľadávacie nástroje na vyhľadanie a nahradenie dialógov medzi textovými editormi a textovými editormi, nástrojmi na spracovanie textu, ako sú sed a AWK a lexikálnou analýzou. Mnoho programovacích jazykov poskytuje regulárne výrazy, vstavané alebo prostredníctvom knižníc.


Ako odstrániť prázdne riadky v bežných výrazoch programu Poznámkový blok?

Termín "regulárne výrazy" sa často používa na odkazovanie na špecifickú štandardnú textovú syntax (inú ako matematická notácia popísaná nižšie) na odosielanie šablón, ktoré musia byť v súlade s textom. Každý symbol v regulárnom vyjadrení sa chápe ako metacharakter (s jeho osobitným obsahom) alebo bežným znakom (s jeho doslovným významom). spolumetaznačky a alfanumerické znaky sa dajú použiť na identifikáciu textového materiálu danej šablóny alebo na spracovanie viacerých inštancií.


Vzory sa môžu pohybovať od presnej rovnosti až po celkovú podobnosť, riadené metaznaky. Syntax metacharacter je špeciálne navrhnutý tak, aby reprezentoval konkrétne ciele v stručnej a flexibilnej forme automatizácie spracovania textu z rôznych vstupov. Je vhodný pre vstup pomocou štandardnej klávesnice ASCII.

Pravidelný výraz Poznámkový blok: Príklady a šablóny

Regulárny výraz, často označovaný ako šablóna, je výraz používaný na označenie množiny reťazcov potrebných na konkrétny účel. Jednoduchým spôsobom špecifikujte konečný súbor riadkov zoznamu jeho prvkov. Existujú však často stručné spôsoby označovania požadovanej sady reťazcov. Napríklad súbor obsahujúci tri riadky - Handel, Hondel a Haendel, môže byť špecifikovaný šablónou H (a | E | 3) Ndel, pretože táto šablóna zodpovedá každej z troch riadkov. Vo väčšine formalít, ak existuje aspoň jeden Poznámkový blok s pravidelným výrazom, ktorý zodpovedá určitému súboru, existuje nekonečný počet ďalších regulárnych výrazov, ktoré sú pre ne relevantné a špecifikácia nie je jedinečná. Väčšina formalizmov poskytuje nasledujúce operácie na vytváranie regulárnych výrazov.

História výskytu

Pravidelné výrazy vznikli v roku 1951, keď matematik Steven Cole Clini opísal bežné jazyky pomocou matematickej notácie nazývanej pravidelné súpravy. Vznikli v teoretickej informatike v roku 2004subfieldy teórie automatov (model výpočtovej techniky), popis a klasifikácia formálnych jazykov. Iné implementácie implementácie v ranom štádiu zahŕňajú jazyk SNOBOL, ktorý používa nepravidelné výrazy a vlastné návrhy zodpovedajúce šablóne.
Keď riadok v regulárnych výrazov Notepad široko používaný od roku 1968 na dva účely: porovnanie vzoriek v textovom editore a kompilátora lexikálnej analýzy. Jeden z prvých vystúpení regulárnych výrazov vo forme programu bolo, že Ken Thompson postavil záznamu Klein editora QED ako prostriedok, aby zodpovedali vzory v textových súboroch. Pre rýchlosť Thompson si uvedomil, že porovnanie s použitím regulárnych výrazov kompilácie "just in time» (JIT) kód pre IBM 7094 systémového času kompatibilný - dôležitý skorý príklad JIT kompilácie. Neskôr sa pridal túto funkciu editor Unix ed, ktorý nakoniec viedol k použitiu populárnej vyhľadávací nástroj grep používať regulárne výrazy. Približne v rovnakom čase, kedy Thompson vyvinula QED, skupina výskumníkov, vrátane Douglas T. Ross predstavil nástroj založený na regulárnych výrazov používaných na lexikálne analýzu dizajnu kompilátor.

vývoj poňatie

Mnoho variácií týchto pôvodných foriem nahradiť regulárnych výrazov Notepad používané v programoch Unixu v Bellových laboratóriách v roku 1970, vrátane vi, lex, sed, AWK a expr, ako aj ďalšie nástroje, ako je Emacs , Následne boli tieto formy prijaté širokou škálou programov a v roku 1992 boli v štandarde POSIX.2.
V 80-tych rokoch, zložitejšies regulárne výrazy Perl, ktorý bol pôvodne získané z knižnice regulárnych výrazov, ktoré Henry Spencer (1986). Neskôr napísal implementáciu rozšírených regulárnych výrazov pre Tcl. Tcl knižnica je hybridná implementácia NFA /DFA so zlepšenými výkonnostnými charakteristikami.
programové projekty využívajúce regulárny výraz implementačné Spencer Tcl, vrátane PostgreSQL. Perl neskôr rozšírený na pôvodnú knižnice Spencer, pridať mnoho nových funkcií, ale doteraz nebol realizovaný rozšírených regulárnych výrazov Spencer z hľadiska výkonu alebo manipulácii s Unicode. Súčasťou úsilia pri vývoji Perlu 6 je zlepšiť integráciu regulárnych výrazov a zvýšiť ich príležitosti na určenie gramatickej rozobrať výrazy.
Výsledkom je mini-jazyk nazvaný Perl 6 pravidiel pre stanovenie základu gramatiky a poskytujú nástroje pre programátorov v tomto jazyku. Tieto pravidlá podporujú existujúce funkcie regulárnych výrazov.

Súčasná etapa vývoja

Použitie regulárnych výrazov v poznámkovom bloku a hľadanie štruktúrovaných informačných štandardov pre projektovej dokumentácie a databázy bola zahájená v roku 1960 a rozšírená v roku 1980, kedy konsolidované priemyselné štandardy, ako je ISO SGML. Jadro štandardnej štruktúry jazykových špecifikácií sa skladá z regulárnych výrazov. Od roku 1997, Philip Hazel vyvinul PCRE (Perl kompatibilný regulárne výrazy), ktorá sa snaží napodobniť presne funkčnosť regulárny výraz Perl a používa veľa moderných nástrojov, vrátane PHP a Apache HTTP Server.

Regiónaplikácie a používania

V súčasnosti sú regulárne výrazy široko podporované v programovacích jazykoch, programoch na spracovanie textu, pokročilých textových editoroch a niektorých ďalších programoch. Podpora regulárneho výrazu je súčasťou štandardnej knižnice mnohých programovacích jazykov, vrátane jazyka Java a Pythonu, a je zakotvená v syntaxe iných, vrátane Perl a ECMAScript.
Implementácia regulárnych výrazov sa často označuje ako mechanizmus regulárneho vyjadrenia a niekoľko knižníc je k dispozícii na opätovné použitie.

Súvisiace publikácie