Pravidelné výrazy Poznámkový blok: popis, náhrada a příklady

Pravidelný výraz Poznámkový blok je teorie formálního jazyka, posloupnost znaků, která definuje vyhledávací vzorec. Obvykle je tato šablona používána algoritmy pro vyhledání řetězců pro operace "find" nebo "find and replace" v řádcích. Podívejme se však na vše v pořádku a zvážíme toto téma podrobněji.

Popis principu regulárních výrazů

Pojetí vzniklo v padesátých letech minulého století, kdy formální popis amerického matematika Stephen Cole Clini formalizoval popis obyčejného jazyka. Tento koncept je široce používán s utilitami pro zpracování textu Unixu. Od osmdesátých lét existují různé syntaxe regulárních výrazů, z nichž jedna je standardem POSIX a další běžně používaná syntaxe Perlu.
Regulární výrazy v programu Poznámkový blok používají vyhledávače k ​​vyhledání a nahrazování dialogů mezi textovými editory a textovými editory, pomocnými programy pro zpracování textu, jako je sed a AWK a lexikální analýzou. Mnoho programovacích jazyků poskytuje regulární výrazy, vestavěné nebo prostřednictvím knihoven.


Jak odstranit prázdné řádky v regulárních výrazech aplikace Notepad?

Termín "regulární výrazy" se často používá k odkazování na specifickou textovou syntaxi (jinou než je matematická notace popsaná níže) pro odesílání šablon, které musí být v souladu s textem. Každý symbol v regulárním výrazu je chápán jako metacharakter (s jeho speciálním obsahem) nebo pravidelným charakterem (s jeho doslovným významem). Společněmetaznačky a alfanumerické znaky lze použít k identifikaci textového materiálu dané šablony nebo ke zpracování více instancí.


Vzory se mohou pohybovat od přesné rovnosti až po celkovou podobnost, řízené metaharaktery. Syntaxe metacharakteru je speciálně navržena tak, aby reprezentovala cíle v stručné a flexibilní formě automatizace zpracování textu z různých vstupů. Je vhodný pro vstup pomocí standardní klávesnice ASCII.

Pravidelný výraz Poznámkový blok: Příklady a šablony

Pravidelný výraz, často označovaný jako šablona, ​​je výraz používaný pro označení souboru řetězců potřebných pro určitý účel. Jednoduchým způsobem zadejte konečný soubor řádků seznamu jeho prvků. Existují však často stručnější způsoby, jak označit požadovanou sadu řetězců. ? Například, sada obsahuje tři řádky - Handel, H Ndel a Haendelové, šablona může být H (| Ae?) Ndel, protože tento vzor odpovídá každý ze tří řádků. Ve většině formálního modelu, pokud existuje alespoň jeden regulární výraz Poznámkový blok, který odpovídá sadě existuje nekonečné množství jiných regulárních výrazů, které ho také splňují specifikace a není ojedinělý. Většina formalismu poskytuje následující operace pro vytváření regulárních výrazů.

Historie výskytu

Pravidelné výrazy vznikly v roce 1951, kdy matematik Steven Cole Clini popsal běžné jazyky pomocí matematické notace nazvané pravidelné soubory. Vznikly v teoretické informatice, v roce 2004podpoložky teorie automatu (model výpočetní techniky), popis a klasifikace formálních jazyků. Jiné rané provádění odpovídajících modelů patří snobol jazyk, který nepoužívá regulární výrazy, a jeho vlastní návrhy, které odpovídají vzoru.
Když řádek v regulárních výrazů Notepad široce používán od roku 1968 ke dvěma účelům: srovnání vzorků v textovém editoru a kompilátoru lexikální analýzy. Jeden z prvních vystoupení regulárních výrazů ve formě programu bylo, že Ken Thompson postavil záznamu Klein editoru QED jako prostředek, aby odpovídaly vzory v textových souborech. Pro rychlost Thompson si uvědomil, že srovnání s použitím regulárních výrazů kompilace „just in time» (JIT) kód pro IBM 7094 systémového času kompatibilní - důležitý časný příklad JIT kompilace. Později se přidal tuto funkci editor Unix ed, který nakonec vedl k použití populární vyhledávací nástroj grep používat regulární výrazy. Přibližně ve stejnou dobu, kdy Thompson vyvinula QED, skupina výzkumníků, včetně Douglas T. Ross představil nástroj založený na regulárních výrazů používaných pro lexikální analýzu designu kompilátor.

vývoj pojetí

Mnoho variací těchto původních forem nahradit regulárních výrazů Notepad používané v programech Unixu v Bellových laboratořích v roce 1970, včetně vi, lex, sed, AWK a expr, jakož i další nástroje, jako je Emacs . Následně byly tyto formy přijímány širokou škálou programů a byly v roce 1992 standardem POSIX.2.
V osmdesátých letech, složitějšís regulární výrazy Perl, který byl původně získané z knihovny regulárních výrazů, které Henry Spencer (1986). Později napsal implementaci rozšířených regulárních výrazů pro Tcl. Knihovna Tcl je hybridní implementací NFA /DFA se zlepšenými výkonnostními charakteristikami.
Softwarové projekty, které používaly implementaci regulárního výrazu Spencer Tcl, zahrnují PostgreSQL. Perl později rozšířen na původní knihovny Spencer, přidat mnoho nových funkcí, ale dosud nebyl realizován rozšířených regulárních výrazů Spencer z hlediska výkonu nebo manipulaci s Unicode. Součástí úsilí při vývoji Perlu 6 je zlepšit integraci regulárních výrazů a zvýšit jejich příležitosti k určení gramatické rozebrat výrazy.
Výsledkem je mini-jazyk nazvaný Perl 6 pravidel pro stanovení základu gramatiky a poskytují nástroje pro programátory v tomto jazyce. Tato pravidla podporují stávající funkce regulárních výrazů.

Současná etapa vývoje

Použití regulárních výrazů v poznámkovém bloku a hledání strukturovaných informačních standardů pro projektové dokumentace a databáze byla zahájena v roce 1960 a rozšířena v roce 1980, kdy konsolidované průmyslové standardy, jako je ISO SGML. Jádro struktury standardních jazykových specifikací se skládá z regulárních výrazů. Od roku 1997, Philip Hazel vyvinul PCRE (Perl kompatibilní regulární výrazy), která se snaží napodobit přesně funkčnost regulární výraz Perl a používá mnoho moderních nástrojů, včetně PHP a Apache HTTP Server.

Oblastaplikace a použití

V současné době jsou regulární výrazy široce podporovány v programovacích jazycích, v programech pro zpracování textu, v pokročilých textových editorech av některých dalších programech. Podpora pravidelných výrazů je součástí standardní knihovny mnoha programovacích jazyků, včetně jazyka Java a Pythonu, a je zakotvena v syntaxi dalších, včetně Perl a ECMAScript.
Implementace regulárních výrazů je často označována jako mechanismus regulárního výrazu a k dispozici je několik knihoven k opětovnému použití.

Související publikace