Wyrażenia regularne. Regular expressions. aka. Regexp
|
|
- Agata Urbańska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Regular expressions aka Regexp
2 Historia: teoria automatów oraz teoria języków formalnych Stephen Cole Kleene ( ) lata 50 badania nad zbiorami regularnymi oraz teorią rekursji język programowania SNOBOL ( ) Bell Labs koncepcja dopasowywania wzorców edytor QED ( ) Bell Labs Ken Thompson zastosowanie wyrażeń Kleene'a
3 Historia: po przychylnym odbiorze swojego pomysłu Thompson wbudował regexpy również w edytor ed (a tym samym w vi) narzędzie grep jego nazwa wzięła się od polecenia edytora ed o postaci: g/re/p gdzie re oznacza właśnie regexp
4 Historia: kolejne narzędzia wykorzystujące regexp: expr AWK (Aho-Weinberger-Kernighan) Emacs lex
5 Historia: języki programowania, które wbudowały regexp na poziomie składni: Perl (1987 Larry Wall - NASA) Tcl ( John Ousterhout University of California, Berkeley)
6 Historia: Perl Compatible Regular Expressions (PCRE) Philip Hazel implementacja regexp w stylu Perla w postaci biblioteki dla języka C - de facto standard adaptacja mechanizmów regexp dla większości współczesnych języków programowania: Java, JavaScript, Python, Ruby, rodzina.net, XML Schema, PHP, różne implemenatcje SQL, etc.
7 Koncepcja: wzorzec napis maszyna maszyna wyrażeń wyrażeń regularnych regularnych czyli czyli deterministyczna deterministyczna wyrocznia wyrocznia werdykt: tak lub nie
8 Zasada: maszyna dopasowuje wzorzec do napisu analizując oba ciągi znaków od lewej do prawej.
9 Zasada: jeśli pewien znak wzorca nie jest znakiem zastrzeżonym, to dopasowuje się sam do siebie; w szczególności same do siebie dopasowują się litery i cyfry
10 Przykład: Napis: Ala ma kota wzorzec Ala la mak kota ota koty dopasowanie NIE NIE
11 Zasada: niektóre znaki wzorca nie dopasowują się same do siebie - są to tzw. metaznaki. metaznaki języka wzorca wyrażeń regularnych: \ ( ) [ { ^ $ * +?.
12 Zasada: jeśli \ poprzedza liczbę i liczba ta nie rozpoczyna się cyfrą 0, to jest to tzw. odwołanie wsteczne (backreference) Przykład: \1 - odwołanie wsteczne do pierwszego dopasowanego podłańcucha
13 Zasada: jeśli \0 poprzedza trzy cyfry ósemkowe, to dopasowuje się do znaku w napisie o kodzie wyrażonym zapisem ósemkowym (tzw. octal escape) Przykład: \040 dopasowuje się do spacji
14 Zasada: jeśli \x poprzedza dwie cyfry szesnastkowe, to dopasowuje się do znaku w napisie o kodzie wyrażonym zapisem szesnastkowym (tzw. hex escape) Przykład: \x20 dopasowuje się do spacji
15 Zasada: jeśli \c poprzedza dowolny znak alfabetyczny (A-Z lub a-z), to dopasowuje się do odpowiadającego mu znaku kontrolnego w napisie. Przykład: \cd dopasowuje się do znaku ^D
16 Zasada: jeśli \u poprzedza cztery cyfry szesnatkowe, to dopasowuje się do znaku w napisie o kodzie wyrażonym zapisem szesnastkowym w standardzie UNICODE (tzw. unicode escape). Przykład: \u00a9 dopasowuje się do znaku
17 Zasada: jeśli \ poprzedza jedną z wymienionych dalej liter, to dopasowuje się do znaków specjalnych lub do jednego z klasy znaków:
18 Znaki specjalne \a \n \r \t \f \e \d \D \w \W \s \S BEL LF CR HT FF ESC <dowolna cyfra dziesiętna> <znak inny niż cyfra dziesiętna> <cyfra, litera, podkreślnik> <nie cyfra, nie litera i nie podkreślnik> <biały znak spacja lub \t lub \n lub \r lub \f <nie-biały znak>
19 Zasada: jeśli \ poprzedza dowolny inny znak (z kilkoma wyjątkami, o których niebawem) to jest to cytowanie (escaping); cytowania wymagają m.in. metaznaki oraz sam znak \ (*) (*) pamiętać należy o tym, że sam znak \ może wymagać osobnego cytowania zgodnie z wymogami języka C i pochodnych
20 Przykład: napis Ala ma 12 kotów Ala ma 12 kotów Ola ma psa Ola ma psa Ola.ma.psa wzorzec \d\d \d\d\d \w\w\w \w\w\w\w \.\w\w\.? NIE NIE
21 Zasada: metaznak ^ (caret) dopasowuje się nie do znaku, a do miejsca w napisie, tzn: do początku napisu (w trybie single-line) do początku linii (w trybie multi-line)
22 Przykład: napis: Ala ma 3 koty wzorzec Ala ^Ala ma ^ma ^\D \d ^\d? NIE NIE
23 Zasada: metaznak $ (dollar) dopasowuje się nie do znaku, a do miejsca w napisie, tzn: do końca napisu (w trybie single-line) do końca linii (w trybie multi-line)
24 Przykład: napis: Ala ma 3 koty wzorzec Ala Ala$ koty koty$ \D$ \d$ \w\w\w\w$? NIE NIE
25 Zasada: metaznak \b dopasowuje się tylko na granicy słowa metaznak \B dopasowuje się wszędzie poza granicą słowa.
26 Przykład: napis: wielka rzeka narzeka wzorzec rzeka \brzeka \Brzeka?
27 Zasada: metaznak \A dopasowuje się do początku napisu metaznak \Z dopasowuje się do końca napisu Oba dopasowania występują w napisie raz, niezależnie od tego, czy maszyna jest w trybie single-line czy multiline
28 Zasada: metaznak { to tzw. kwantyfikator określający wymagania ilościowe odnoszące się do poprzedzającego go znaku/wyrażenia wzorca.
29 Kwantyfikatory: Wyrażenia regularne zachłanny {n,m} {n,} {n} niezachłanny {n,m}? {n,}? {n}? wymagany zakres musi się pojawić co najmniej n razy ale nie więcej niż m razy musi się pojawić co najmniej n razy musi się pojawić dokładnie n razy dopasowywanie wzorca jest ZACHŁANNE jeśli nie użyto znaku? i NIEZACHŁANNE, jeśli użyto znaku?
30 Przykład: napis: wzorzec \d{0,12}123 \d{0,12}?123 \d{3,9}123 \d{3,9}?123 \d{3,}123 \d{3,}?123 \d{3}123 \d{3}?123 dopasowanie
31 Kwantyfikatory specjalne: Wyrażenia regularne zachłanny * +? niezachłanny *? +??? równoważnik 0 lub więcej razy {0,} 1 lub więcej razy {1,} 0 lub 1 raz {0,1}
32 Przykład: napis: abcabcabc wzorzec \D*abc \D*?abc \D+abc \D+?abc dopasowanie abcabcabc abc abcabcabc abcabc
33 Zasada: ujęcie fragmentu wyrażenia regularnego w parę nawiasów ( ) nie zmienia jego znaczenia, a powoduje powstanie tzw. odwołania wstecznego (backreference); odwołań wstecznych może być dowolna liczba.
34 Przykład: napis: 1221 wzorzec (\d)(\d)\2\1 (\d)(\d)\1\2 dopasowanie? NIE
35 Zasada: metaznak. (kropka) pasuje do każdego znaku poza \n (w zasadzie)
36 Zasada: lista znaków w nawiasach [] (zbiór) dopasowuje jeden z tych znaków
37 Przykład: wzorzec: [OA]la napis Ola ma psa Ala ma kota dopasowanie
38 Zasada: znak ^ użyty jako pierwszy znak w zbiorze powoduje, że dopasowanie będzie zachodziło tylko dla znaków, których NIE MA zbiorze (dopełnienie)
39 Przykład: wzorzec: [^OA]la napis Ola ma psa Ala ma kota Dla psa kiełbasa dopasowanie NIE NIE
40 Zasada: wewnątrz zbioru dopuszcza się użycie znaku - dla oznaczenia klas znaków, np. [A-Z] - wielkie litery [a-z] - małe litery [0-9] - cyfry [A-Fa-f0-9] - cyfry szesnastkowe
41 Zasada: metaznak (bar) jest operatorem alternatywy
42 Przykład: wzorzec: (O A)la napis Ola ma psa Ala ma kota Dla psa kiełbasa dopasowanie NIE
43 Przykład: wzorzec: O Ala napis Ola ma psa Ala ma kota O! To pies Ali! dopasowanie NIE
44 Zasada: ujęcie fragmentu wzorca w nawiasy (? oraz ) nie powoduje powstania odwołania wstecznego, a jedynie wyróżnienie podłańcucha (np. w celu użycia metaznaku )
45 Przykład: wzorzec: (?O A)la napis Ola ma psa Ala ma kota Dla psa kiełbasa dopasowanie NIE
46 Zasada: pozytywne dopasowanie w przód ujęcie fragmentu wzorca w nawiasy (?= oraz ) nie powoduje powstania odwołania wstecznego, a powoduje, że poszukiwanie następnego dopasowanie rozpocznie się przed dopasowanym właśnie fragmentem
47 Przykład: wymaganie: hasło ma mieć od 4 do 8 znaków i musi zawierać co najmniej jedną cyfrę Wzorzec: ^(?=.*\d).{4,8}$
48 Zasada: negatywne dopasowanie w przód ujęcie fragmentu wzorca w nawiasy (?! oraz ) nie powoduje powstania odwołania wstecznego, a powoduje, że poszukiwanie następnego dopasowanie rozpocznie się przed niedopasowanym właśnie fragmentem
49 Przykład: wymaganie: szukamy słowa, które nie zaczyna się od za Wzorzec: \b(?!za)\w+\b
50 Zasada: nazwane odwołanie wsteczne ujęcie fragmentu wzorca w nawiasy (?<nazwa> oraz ) powoduje powstania odwołania wstecznego, do którego można odwołać się poprzez nazwę podaną w nawiasach < i >
51 Przykład: wyrażenie regularne, które sprawdza, czy pewien łańcuch jest poprawnym adresem oraz może posłużyć do wygodnego wyłuskania nazwanych podłańcuchów Wzorzec:
Wyrażenia regularne. Wyrażenia regularne 1/41
Wyrażenia regularne Wyrażenia regularne 1/41 Wyrażenia regularne 2/41 Po co wyrażenia regularne? Polecenie: $ grep est tekst.txt Zawartość tekst.txt To jest plik tekstowy. Testujemy narzędzie grep. Trzecia
Języki formalne i automaty Ćwiczenia 6
Języki formalne i automaty Ćwiczenia 6 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Wyrażenia regularne... 2 Standardy IEEE POSIX Basic Regular Expressions (BRE) oraz Extended
Wyrażenia regularne. Wyrażenia regularne: składnia
Wyrażenia regularne Wyrażenia regularne (ang. regular expressions, w skrócie regex) to wzorce, które opisują łańcuchy symboli. Teoria wyrażeń regularnych jest związana z teorią tworzenia tzw. języków naturalnych.
Jerzy Nawrocki, Wprowadzenie do informatyki
Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Przetwarzanie tekstów i AWK Problem konwersji plików FName:Jurek SName:Busz Salary 585 FName:Alek
Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)
Sed edytor strumieniowy,sed wczytuje bieżący wiersz pliku do wewnętrznego bufora celem manipulowania tekstem. Wynik jest wysyłany na standardowe wyjście. Oryginalny plik nie jest nigdy zmieniany. Jeżeli
Wyrażenia regularne. Wojciech Tabiś Łukasz Jankowski
Wyrażenia regularne Wojciech Tabiś Łukasz Jankowski Wyrażenia regularne: ang. Regular expressions (regexp) Wyrażenia regularne są narzędziem służącym do dopasowywania wzorców.. Wykorzystywane są tam, gdzie
Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość).
Wyrażenia regularne pełnią istotną rolę w PHP. Umożliwiają one opisywanie i przetwarzanie długich ciągów znaków. Dzieje się to na zasadzie porównania danego ciągu znaków z określonym wzorem, ułożonym przez
Wyrażenia regularne w Perlu. Narzędzia informatyczne w językoznawstwie. Przykład bardziej sensowny perlowy minigrep.pl. Pierwsze przykłady
Wyrażenia regularne w Perlu Narzędzia informatyczne w językoznawstwie Perl - Wyrażenia regularne Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 16. styczeń
Wstęp do informatyki 2011/2012. Wyrażenia regularne (sed)
Wstęp do informatyki 2011/2012 Wyrażenia regularne (sed) Sed sed [OPCJE] polecenia [plik_wejściowy]... sed [OPCJE] -f skrypt_z_poleceniami_seda [plik_wejściowy]... Edytor strumieniowy stosowany do przetwarzania
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA
JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw
Uniwersytet Mikołaja Kopernika w Toruniu. Robert Ospara. Wizualizacja dopasowania wyrażeń regularnych Perla z użyciem biblioteki Gtk+
Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Robert Ospara Nr albumu: 146951 Praca magisterska na kierunku informatyka Wizualizacja
Spra r wd w za z nie e popra r wn w ości c danych c w w form r u m larz r a z ch c :
PROJEKTOWANIE STRON WWW LABORATORIUM 3. Wykorzystanie JavaScriptu i wyrażeń regularnych do sprawdzania poprawności danych w formularzach prowadzący dr ADRIAN HORZYK http://home.agh.edu.pl/~horzyk e-mail:
Linux Filtr grep. Opracował: Arkadiusz Curulak WSIiE TWP w Olsztynie
Linux Filtr grep Opracował: Arkadiusz Curulak WSIiE TWP w Olsztynie Data aktualizacji : 17-06-2002 Pierwsza edycja : 01-06-2002 Spis treści Filtr grep: składnia... 2 Zadanie 1... 2 Zadanie 2... 3 Zadanie
Środowisko programisty Zestaw 5
PCRE, czyli bogatsze wyrażenia regularne PCRE, czyli Perl Compatible Regular Expressions, to niezależna implementacja wyrażeń regularnych, inspirowana wyrażeniami regularnymi w języku Perl. Pierwotnie
System operacyjny Linux
Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 7 Język awk Wprowadzenie Schemat programu Konstrukcja wzorców Konstrukcja wyrażeń regularnych Struktury kontrolne Predefiniowane
Napisy w PHP. Drukowanie napisów instrukcją echo
Napisy w PHP. Drukowanie napisów instrukcją echo 1. Ćwiczenia do samodzielnego wykonania Wszystkie poniższe ćwiczenia należy samodzielnie wykonać wpisując w edytorze bez stosowania techniki kopiuj-wklej.
Reprezentacja symboli w komputerze.
Reprezentacja symboli w komputerze. Znaki alfabetu i łańcuchy znakowe. Programowanie Proceduralne 1 ASCII The American Standard Code for Information Interchange, 1968 r. 7 bitów, liczby z zakresu 0-127
Podstawy programowania w C++
Podstawy programowania w C++ Zmienne typu znakowego Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował: Andrzej Nowak ASCII (American Standard Code for Information Interchange)
Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000
SYSTEMY LICZBOWE I. PODZIAŁ SYSTEMÓW LICZBOWYCH: systemy liczbowe: pozycyjne (wartośd cyfry zależy od tego jaką pozycję zajmuje ona w liczbie): niepozycyjne (addytywne) (wartośd liczby jest sumą wartości
Laboratorium 10: Maszyna stanów
Wojciech Myszka Laboratorium 10: Maszyna stanów 2016-05-07 09:05:39 +0200 1. Wprowadzenie Laboratorium poświęcone jest operacjom na napisach (ciągach znaków). Przypominam, że: a to stała typu char o wartości
Języki i metody programowania. Omówienie języków C, C++ i Java
Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC
Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)
Wstęp do informatyki stęp do informatyki Polecenia (cz.2) Lista procesów top Pokaż listę procesów polecenie interaktywne Procesy Uruchamianie w tle. shell nie czeka na zakończenie procesu, można wydawać
Skanowanie OCR w aplikacji Kancelaria Komornika. Instrukcja dla użytkownika
Skanowanie OCR w aplikacji Kancelaria Komornika Instrukcja dla użytkownika Spis treści 1. Zakładka Wyrażenia... 3 2. Zakładka Grupy wyrażeń... 5 3. Opcje Skanowania / OCR... 7 4. Rozpoznawanie Danych...
KARTA KURSU. Języki skryptowe
KARTA KURSU Nazwa Nazwa w j. ang. Języki skryptowe Script languages Kod Punktacja ECTS* 3 Koordynator mgr Alfred Budziak Zespół dydaktyczny: dr Olaf Bar mgr Alfred Budziak Opis kursu (cele kształcenia)
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux
Przetwarzanie tekstu 2 Operacje na plikach tekstowych w systemie Linux filtry programy przetwarzajace pliki (w szczególności tekstowe) w taki sposób, że odczytuja dane (plik wejściowy) ze standardowego
Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek
Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl
INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR
INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR 1. Algorytm XOR Operacja XOR to inaczej alternatywa wykluczająca, oznaczona symbolem ^ w języku C i symbolem w matematyce.
Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki
Instytut Informatyki Literatura http://www.w3c.org/tr/ - Technical Reports K. B. Stall - XML Family of Specifications, Addison-Wesley 2003 P. Kazienko, K. Gwiazda - XML na poważnie, Helion 2002 XML Rozszerzalny
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques
Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak
Linux Polecenia Opracował: Andrzej Nowak Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Utwórz katalog lab_5 i przejdź do niego. $ mkdir lab_5 ; cd lab_5 Problem nadpisywania
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
1. Podstawy budowania wyra e regularnych (Regex)
Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra
Przydatne sztuczki - sql. Na przykładzie postgres a.
Przydatne sztuczki - sql. Na przykładzie postgres a. M. Wiewiórko 05/2014 Plan Uwagi wstępne Przykład Rozwiązanie Tabela testowa Plan prezentacji: Kilka uwag wstępnych. Operacje na typach tekstowych. Korzystanie
KONSTRUKCJA KOMPILATORÓW
KONSTRUKCJA KOMPILATORÓW WYKŁAD Robert Plebaniak PLATFORMA PROGRAMOWA LINUX (może nie zawierać LLgen, wówczas instalacja ze strony http://tack.sourceforge.net); WINDOWS (używa się wtedy programu Cygwin,
Pracownia Komputerowa wyk ad VII
Pracownia Komputerowa wyk ad VII dr Magdalena Posiada a-zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Notacja szesnastkowa - przypomnienie Szesnastkowy
Różne pożyteczne polecenia oraz wyrażenia regularne. Kurs systemu Unix 1
Różne pożyteczne polecenia oraz wyrażenia regularne Kurs systemu Unix 1 O pracach (jobs) Pracą nazwiemy proces będący pod kontrolą powłoki. Przykład: % sort addresses > mail_list & [1] 21885 % [1] oznacza
Programowanie I. Wprowadzenie. Proces programowania
I. Wprowadzenie. Proces Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 6 lutego 2018 1 / 25 Wprowadzenie. Proces Najnowsza wersja tego dokumentu
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych
Definiowanie języka przez wyrażenie regularne(wr)
Wykład3,str1 Definiowanie języka przez wyrażenie regularne(wr) DEFINICJA: (wyrażenia regularne) M(specjalneznakinienależącedoalfabetu:{,},, ) literyalfabetusąwr złożeniawrsąwr: jeśliw 1 iw 2 sąwr,to{w
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Stany równoważne Stany p i q są równoważne,
SED - Stream EDitor. edytor strumieniowy. Bogumił Konopka W-11/I-21 Politechnika Wrocławska
04.01.2010 SED - Stream EDitor edytor strumieniowy Bogumił Konopka W-11/I-21 Politechnika Wrocławska Jak działa sed? sed jest filtrem pobiera dane w postaci wierszy tekstu ze standardowego wejścia przetwarza
J ezyk AWK Kurs systemu UNIX
Język AWK Kurs systemu UNIX 1 AWK Opracowany w laboratoriach Bella w 1978 przez Aho, Weinbergera i Kernighana Język do przetwarzania plików tekstowych Kurs systemu UNIX 2 AWK: pierwsza odsłona! AWK jest
Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu
Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Wstęp do Informatyki dla bioinformatyków
Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:
Programowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus
Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna
Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
OPCJE -A num, --after-context=num Wypisuje po pasujących liniach num linii następującego kontekstu.
GREP NAZWA grep, egrep, fgrep - wypisz linie pasujące do wzorca SKŁADNIA grep [opcje] wzorzec [plik...] grep [opcje] [-e wzorzec -f plik] [plik...] OPIS grep przeszukuje wskazane pliki wejściowe (lub standardowe
System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania
Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu
Asynchroniczne interfejsy
Asynchroniczne interfejsy Walidacja danych WWW mgr inż. Rafał Grycuk mgr inż. Patryk Najgebauer Strona służbowa: http://iisi.pcz.pl/~rgrycuk/ Kontakt: rafal.grycuk@iisi.pcz.pl Konsultacje: Środa, godz.
O autorze... 9 Wprowadzenie... 11 Rozdział 1. Wprowadzenie do modułu mod_rewrite... 15 Rozdział 2. Wyrażenia regularne... 23
Spis treści O autorze... 9 Wprowadzenie... 11 Rozdział 1. Wprowadzenie do modułu mod_rewrite... 15 Kiedy należy stosować moduł mod_rewrite... 16 Oczyszczenie ciągów URL... 16 Duża liczba serwerów wirtualnych...
Znaki globalne w Linuxie
Znaki globalne w Linuxie * reprezentuje jeden lub wiele znaków (wild-card character)? reprezentuje dokładnie jeden znak (wild-card character) [abcde] reprezentuje dokładnie jeden znak z wymienionych [a-e]
INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Zajęcia 5 łańcuchy znaków (ciąg dalszy) i funkcje
Zajęcia 5 łańcuchy znaków (ciąg dalszy) i funkcje 1. Napisz funkcję, która zwraca wartość silni dla podanej liczby n. Funkcja powinna być napisana w dwóch wersjach: iteracyjnej i rekurencyjnej. 2. Napisz
Podstawy programowania w C++
Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout
Wstęp do wyrażeń regularnych na platformie.net
Wstęp do wyrażeń regularnych na platformie.net v1.1 Miłosz Orzeł Celem artykułu jest zapoznanie Czytelnika z podstawowymi elementami składni wyrażeń regularnych oraz sposobami ich wykorzystania na platformie.net.
Programowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Środowisko programisty Zestaw 7
Bash, zmienne i instrukcje warunkowe Zmienne możemy traktować jak etykiety, które przechowują ciągi znaków. Definiujemy je przy pomocy znaku = bez spacji po obu jego stronach: dog="azor" Do zmiennych w
Oczywiście plik musi mieć rozszerzenie *.php
Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Elementy wyrażeń regularnych
Elementy wyrażeń regularnych: znaki specjalne - zakotwiczenia Daszek "^" oznacza początek wiersza, dolar "$" oznacza koniec wiersza. np.: "^.o.a$" Wyrażenie odpowiada ciągowi dokładnie czterech znaków
Wykład nr 1 Język Ruby i framework Rails
Wykład nr 1 Język Ruby i framework Rails Elektroniczne Przetwarzanie Informacji Konsultacje: czw. 14.00-15.30, pokój 3.211 Historia Rubiego i Railsów 1993 Yukihiro Matsumoto San, Japonia 1995 pierwsze
1. Wprowadzenie do języka PHP
1. Wprowadzenie do języka PHP Język PHP jest generalnie w swojej składni podobny do języka C, chociaż występuje tu szereg różnic. 1.1. Zmienne W PHP nazwy zmiennych poprzedzamy znakiem dolara ($). Nie
Architektura systemów informatycznych. Powłoka systemowa Architektura procesora
Architektura systemów informatycznych Powłoka systemowa Architektura procesora Powłoki systemowe Powłoka tekstowa Powłoka, nazywana inaczej shellem, odpowiada za wykonywanie poleceń wpisywanych przez użytkownika
Podstawy Kompilatorów
Podstawy Kompilatorów Laboratorium 3 Uwaga: Do wykonania poniższych zadań związanych z implementacją niezbędny jest program LEX oraz kompilator. Dla środowiska Linux mogą to być: Darmowa wersja generatora
4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 Standardy reprezentacji wartości całkowitoliczbowych
Przyszłość programowania Języki funkcyjne na przykładzie Clojure
Wstęp Przyszłość programowania Języki funkcyjne na przykładzie Clojure inż. Daniel Harbuz 23 maja 2012 Przyszłość programowaniajęzyki funkcyjne na przykładzie Clojure 23 maja 2012 1 / 31 Wstęp Ageda Agenda
Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2
Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone
Wstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów
Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów Marcin Stępniak Informacje. Kod NKB Naturalny kod binarny (NKB) jest oparty na zapisie liczby naturalnej w dwójkowym systemie
Wyra e ż nia Regularne Wyrażenia Regularne
Wyrażenia Regularne Wyrażenia Regularne Zrozumienie Potrzeb Wyrażenia rgularne (lub w skrócie regex), są narzędziami, i jak wszystkie narzędzia, wyrażenia regularne są stworzone po to aby rozwiązywać określone
Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:
Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla
QR code. Ramka składa się z następujących części: typ, liczba znaków, dane, terminator, dopełnienie do oktetu, dopełnienie do ramki.
QR code Liczba punktów:100 Limit czasu: 1s Limit pamięci: 256MB QR code jest standardem używanym powszechnie do przekazywania informacji. W dwuwymiarowym obrazku mogą być zakodowane różne dane. Standard
#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Zaawansowany kurs języka Python
Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.
Literatura Język C 1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. 2. Andrzej Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Nakom, Poznań
Kiedy i czy konieczne?
Bazy Danych Kiedy i czy konieczne? Zastanów się: czy często wykonujesz te same czynności? czy wielokrotnie musisz tworzyć i wypełniać dokumenty do siebie podobne (faktury, oferty, raporty itp.) czy ciągle
INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Podstawy użytkowania Linux a
Podstawy użytkowania Linux a Systemy Operacyjne Mateusz Hołenko 3 marca 2013 Plan zajęć Rozpoczynanie pracy z systemem Podstawowe polecenia Pomoc systemowa Interpreter poleceń Mateusz Hołenko Podstawy
Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Komunikacja człowiek-komputer
Komunikacja człowiek-komputer Wykład 3 Dr inż. Michał Kruk Komunikacja człowiek - komputer dr inż. Michał Kruk Reprezentacja znaków Aby zakodować tekst, trzeba każdej możliwej kombinacji bitów przyporządkować
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Instrukcja dotycząca kodów kreskowych
Instrukcja dotycząca kodów kreskowych Wersja 0 POL 1 Wprowadzenie 1 Omówienie 1 1 Niniejsza skrócona instrukcja zawiera informacje na temat drukowania kodów kreskowych z wykorzystaniem poleceń sterujących
EPI: Interfejs Graficzny Wykład nr 2 Wbudowane typy danych Rubiego
EPI: Interfejs Graficzny Wykład nr 2 Wbudowane typy danych Rubiego 8 października 2014 Plan prezentacji Łańcuchy Liczby Symbole i zakresy W. regularne Kontenery Pliki Materiały Łańcuchy znaków (Ruby 1.9)
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Wydawnictwo Helion ul. Koœciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl
Wyra enia regularne. Leksykon kieszonkowy. Wydanie II Autor: Tony Stubblebine T³umaczenie: Piotr Rajca ISBN: 978-83-246-1392-2 Tytu³ orygina³u: Regular Expression Pocket Reference Format: B6, stron: 160
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe 20.10.2010 System Zakres znaków Przykład zapisu Dziesiętny ( DEC ) 0,1,2,3, 4,5,6,7,8,9 255 DEC Dwójkowy / Binarny ( BIN ) 0,1 11111 Ósemkowy ( OCT ) 0,1,2,3, 4,5,6,7
Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
mod_rewrite. Podrêcznik administratora
mod_rewrite. Podrêcznik administratora Autor: Rich Bowen T³umaczenie: Marek Pa³czyñski, Micha³ Rogalski ISBN: 978-83-246-0465-4 Tytu³ orygina³u: The Definitive Guide to Apache mod_rewrite Format: B5, stron:
TABULATORY - DOKUMENTY BIUROWE
TABULATORY - DOKUMENTY BIUROWE Autoformatowanie Znaczniki tabulacji Ćwiczenie 1 Ćwiczenie 2 Wcięcia i tabulatory Objaśnienia i podpisy Wcięcia w akapitach Ćwiczenia Tabulatory są umownymi znacznikami powodującymi
Środowisko programisty
Środowisko programisty Wyszukiwanie dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 25 listopada 2013 dr Andrzej Zbrzezny (IMI AJD) Środowisko programisty 25