Notatnik wyrażeń regularnych: opis, zamiennik i przykłady

Wyrażenie regularne Notatnik to formalna teoria języka, sekwencja znaków definiująca wzór wyszukiwania. Zwykle szablon ten jest następnie wykorzystywany przez algorytmy wyszukiwania ciągów dla operacji "znajdź" lub "znajdź i zamień" w wierszach. Ale spójrzmy na wszystko w porządku i rozważmy ten temat bardziej szczegółowo.

Opis zasady wyrażeń regularnych

Koncepcja powstała w latach 50. XX wieku, kiedy amerykański matematyk Stephen Cole Clini sformalizował opis zwyczajnego języka. Ta koncepcja jest szeroko stosowana w narzędziach do przetwarzania tekstu Unix. Od lat 80. XX wieku istnieją różne składnie wyrażeń regularnych, z których jednym jest standard POSIX, a inną powszechnie używaną jest składnia Perla.
Wyrażenia regularne Notepad są używane przez wyszukiwarki do znajdowania i zastępowania okien dialogowych między edytorami tekstu i edytorami tekstu, narzędziami do edycji tekstu, takimi jak sed i AWK oraz analizą leksykalną. Wiele języków programowania dostarcza wyrażeń regularnych, wbudowanych lub poprzez biblioteki.


Jak usunąć puste linie w wyrażeń regularnych Notatnika?

Termin "wyrażenia regularne" jest często używany w odniesieniu do określonej standardowej składni tekstu (innej niż notacja matematyczna, opisana poniżej) do przesyłania szablonów, które muszą być spójne z tekstem. Każdy symbol w wyrażeniu regularnym jest rozumiany jako metaznak (ze specjalną treścią) lub zwykły znak (z jego dosłownym znaczeniem). Razemmetaznaków i znaków alfanumerycznych można użyć do identyfikacji materiału tekstowego danego szablonu lub do przetworzenia wielu instancji.


Wzorce mogą się wahać od dokładnej równości do ogólnego podobieństwa, kontrolowanych metaznaków. Składnia metaznaków jest specjalnie zaprojektowana do reprezentowania określonych celów w zwięzłej i elastycznej formie automatyzacji przetwarzania tekstu z różnych danych wejściowych. Jest wygodny do wprowadzania za pomocą standardowej klawiatury ASCII.

Notatnik Wyrażenie regularne: przykłady i szablony

Wyrażenie regularne, często nazywane szablonem, jest wyrażeniem używanym do wskazania zestawu ciągów znaków potrzebnych do określonego celu. W prosty sposób określ końcowy zestaw linii listy jego elementów. Jednak często są bardziej zwięzłe sposoby wskazywania wymaganego zestawu łańcuchów. Na przykład zestaw zawierający trzy linie - Handel, H? Ndel i Haendel, może być określony przez szablon H (? | Ae?) Ndel, ponieważ ten szablon odpowiada każdej z trzech linii. W większości formalności, jeśli istnieje co najmniej jeden Notatnik Wyrażeń regularnych, który odpowiada określonemu zestawowi, istnieje nieskończona liczba innych wyrażeń regularnych, które również są dla niego istotne, a specyfikacja nie jest unikalna. Większość formalizmów zapewnia następujące operacje do konstruowania wyrażeń regularnych.

Historia występowania

Wyrażenia regularne powstały w 1951 r., Kiedy matematyk Steven Cole Clini opisywał zwykłe języki za pomocą notacji matematycznej zwanej regularnymi zbiorami. Powstały w teoretycznej informatyce, wpoddziedziny teorii automatów (model informatyki), opis i klasyfikacja języków formalnych. Inne implementacje implementacji wczesnego modelu obejmują język SNOBOL, który używa wyrażeń nieregularnych oraz własne projekty odpowiadające szablonowi.
Łańcuch Notepad jest szeroko stosowany w wyrażeniach regularnych od 1968 r. W dwóch celach: dopasowywania do próbki w edytorze tekstów i analizy leksykalnej w kompilatorze. Jeden z pierwszych występów wyrażeń regularnych w formie programu było to, że Ken Thompson zbudowany nagranie Klein edytora QED jako środek do dopasowania wzorców w plikach tekstowych. Dla prędkości Thompson realizowany porównanie przy użyciu wyrażeń regularnych kompilacji „just in time (JIT)» kod do systemu IBM 7094 raz kompatybilnym - ważny wczesny przykład JIT kompilacji. Później dodał tę funkcję do edytora edytora Unix, co ostatecznie doprowadziło do użycia popularnego narzędzia wyszukiwania grep do korzystania z wyrażeń regularnych. W tym samym czasie, gdy Thompson opracowany QED, grupa naukowców oraz Douglas T. Ross wprowadził narzędzie oparte na wyrażeniach regularnych używanych do analizy leksykalnej projektowania kompilatora.

Rozwój koncepcji

Wiele odmian tych oryginalnych form zastąpienia wyrażeń regularnych Notepad stosowanych w programach Unix w Bell Labs w 1970 roku, w tym VI lex, sed, AWK i wyraż, a także innych narzędzi, takich jak Emacs . Następnie formularze te zostały zaakceptowane przez szeroką gamę programów i były w standardzie POSIX.2 w 1992 roku.
W latach 80. XX wieku bardziej złożoneWyrażenia regularne powstały w Perlu, który pierwotnie wywodził się z biblioteki regularnych wyrażeń napisanej przez Henry'ego Spencera (1986). Później napisał implementację rozszerzonych wyrażeń regularnych dla Tcl. Biblioteka Tcl jest hybrydową implementacją NFA /DFA o ulepszonej charakterystyce wydajności.
Projekty programowe wykorzystujące wyrażenie regularne Spencer Tcl obejmują PostgreSQL. Perl został później rozszerzony do biblioteki źródłowej Spencer, aby dodać wiele nowych funkcji, ale jeszcze nie wdrożył rozszerzonych wyrażeń regularnych Spencer pod względem wydajności lub przetwarzania Unicode. Częścią wysiłków zmierzających do opracowania Perla 6 jest poprawa integracji wyrażeń regularnych i zwiększenie ich możliwości, co pozwala na określenie analizy wyrażeń gramatycznych.
Rezultatem jest mini-język zwany regułami Perla 6, które są używane do definiowania gramatyki, a także stanowią narzędzie dla programistów w tym języku. Te reguły obsługują istniejące funkcje wyrażeń regularnych.

Obecny etap rozwoju

Stosowanie wyrażeń regularnych w Notatniku i wyszukaj strukturyzowane standardów informacyjnych dla dokumentów projektowych i bazy rozpoczęła się w 1960 roku i rozbudowany w 1980 roku, kiedy to skonsolidowane standardy przemysłowe, takie jak ISO SGML. Rdzeń standardowej struktury specyfikacji języka składa się z wyrażeń regularnych. Od 1997 roku Philip Hazel opracowany PCRE (Perl wspierane przez wyrażenia regularne), który próbuje naśladować dokładnie taką funkcjonalność wyrażenia regularnego Perl i używane przez wielu nowoczesnych narzędzi, w tym PHP i serwera Apache.

Regionaplikacji i zastosowań

Dzisiaj, wyrażenia regularne są szeroko wspierane języki programowania, oprogramowanie do edycji tekstu, zaawansowane przetwarzanie tekstu i innych aplikacji. Wyrażenie regularne jest częścią biblioteki standardowej wielu języków programowania, w tym Java, Python i inne wbudowane w składni, w tym Perl i ECMAScript.
Realizacja wyrażeń regularnych jest często nazywany mechanizm wyrażeń regularnych i dostępne do ponownego wykorzystania niektórych bibliotek.

Powiązane publikacje