Tekstmanipulatie. Week 3: Reguliere expressies. Gosse Bouma 2007/2008. Informatiekunde Rijksuniversiteit Groningen

Vergelijkbare documenten
Bestandstypen en rechten Wildcards in Bestandsnamen Pipes Zoeken naar woorden en patronen. Tekstmanipulatie. Week 2: Zoeken in Tekst.

Overzicht. Pipes. Example. ls -l total 20K drwxr-xr-x 2 gosse aistaff 4.0K :13 Literatuur/

Tekstmanipulatie. Week 1. Gosse Bouma 2007/2008. Informatiekunde Rijksuniversiteit Groningen

Overzicht. Tekstmanipulatie. Doel van de cursus. Doel van de cursus. Tekstmanipulatie: tekst automatisch bewerken en onderzoeken. Waarom Linux?

Opgaven. Python Assessment

ESA College 5a. Mark van der Zwaag. 3 oktober Programming Research Group, UvA. Mark van der Zwaag (PRG, UvA) ESA5a 3 oktober / 19

Korte uitleg: Wat doet de shell met mijn commandoregel?

Gebruik van command-line operating systems

Berekening van de hash-code van een bestand of CD

Reguliere expressies

ESA College 5b. Mark van der Zwaag. 7 oktober Programming Research Group, UvA. Mark van der Zwaag (PRG, UvA) ESA5a 7 oktober / 34

Reguliere Expressies

Uitwerkingen. Python Assessment

3 Oefening 1: C-shell

Automaten. Informatica, UvA. Yde Venema

Overzicht. Tekstmanipulatie. Nieuwe Woorden. Sorteren en frequenties. Nieuwe Woorden. Inleiding. Week 4: Frequenties en Woordenboeken.

Productenfeedspecificatie voor leveranciers, easygiven

Code Voorbeeld Resultaat. print(6, end="") print(7) print(type(6)) <class 'int'> + optelling - aftrekking * vermenigvuldiging / deling 8 16 % modulo

Gebruikersinformatie m.b.t. de PSI Unicode oplevering (Bestemd voor Nederlandse klanten)

Handleiding bijlage: KALENDER. digital4u.nl effectief op internet. telefoon:

OEFENINGEN PYTHON REEKS 1

Windows Command Prompt

Handleiding gebruik VMware Horizon Client

Bent u nu dus genoodzaakt om een nieuwe computer te kopen? NEE, want er is een goede, ja zelfs gratis, oplossing voorhanden.

Website beoordeling google.com

Website AC Lebbeke Inhoud

OEFENINGEN PYTHON REEKS 1

Niet-numerieke data-types

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

I BASH. Johan Adriaans

Handleiding Certificaat RDW

Automaten & Complexiteit (X )

Y2M Handleiding Beta3

Via methodewebsite www w.emma.eisma.nl of de ELO van de school

Website beoordeling cite4me.org

HANDLEIDING DOIT BEHEER SYSTEEM

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

VERSIE 5.1/5.2 SNELSTARTKAART VOOR WEBACCESS JAVA

Linux Server Back-up Online

Medewerkershandleiding Versie 1.1

AFO Vergelijken van documenten

Instructie. WordPress. [Datum]

4/5 Installatieservers

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

DrICTVoip.dll v 2.1 Informatie en handleiding

C o n t e n t M a n a g e m e n t S y s t e e m. G e b r u i k s a a n w i j z i n g

ZorgMail Hosted Mail Premium - Gebruikershandleiding. Veilig, snel en efficiënt communiceren met uw ketenpartners!

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.

Website rapport zazoutotaal.nl

Handleiding NZa-portaal. voor zorgaanbieders

Website beoordeling windowsrepublic.com.au

OEFENINGEN PYTHON REEKS 1

SQL datadefinitietaal

Themaochtend 29 november 2016

OPDRACHT PERSBERICHT SCHRIJVEN

Website beoordeling fibreclick.co.uk

Voorbeelden. Sorteren. Voorbeeld: n = 5. # intsort.py: sorteren van een rij getallen

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Prullenbak ledigen via terminal

Meer doen met uw ipad ios 9

Extra s. Extra s bij HTML en CSS - de basis, 3e editie. X X Extra tekst: subscript en superscript. Extra tekst: entiteiten

Website beoordeling akcpsensor.de.ipaddress.com

Handleiding gebruik Toolbox 55

Basis UNIX commando's - overzicht

Blog-Het gebruik van variabelen in Excel VBA

Voorbeelden en mogelijkheden rondom het delen van bestanden/foto s

Website beoordeling akcpdistributor.de.ipaddress.com

Enquête maken met Google Drive

Handleiding RS Form! 1.0.4

Spraakhulpmiddelen Accessoires advies - verkoop - training

Installatiehandleiding King Webservices 2.0

Handleiding. Certificaat installeren

Actonomy Deeplink URL s OTYS Recruiting Technology. Versie 2.0

Newsdesk Handleiding. Inhoudsopgave. Handleiding Newsdesk

Stap 2 Je template invullen

Prof. Dr. Peter Dawyndt vrijdag , 8:30h 1 e Bachelor Informatica academiejaar

4. De standaard apps op uw ipad

Google Agenda: Plannen, uitnodigingen, bijlagen en afdrukken

HANDLEIDING EDITING MENU & TEKST

Handleiding Certificaat installeren

Handleiding voor het werken met VPN van Noorderboog. Versie 1.1

TELEPORTEREN MET VARIABELEN

WANDA Avonturen Spel. Samenvatting. Context. Overzicht. Versie: 2.0. Datum: 12 maart 2002

Als je een nieuw document maakt, wordt het in Google Drive opgeslagen als 'Naamloos document'.

Windows Training voor 50-plussers. PC50plus trainingen Eikbosserweg AK Hilversum tel:

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Handleiding wordpress

Hoe een USB schijf (stick, harde schijf) leegmaken vanuit de terminal

Handleiding ZorgMail Secure - Webmail

Letters deel 2 fonts en fontmanagers. Handleiding van Helpmij.nl. Auteur: Kate95

AFO Leveranciers

Tutorial voor FTP, STMP en Telnet

Handleiding ZorgMail Secure - Webmail

Handleiding Mijn Websign

Veel gestelde vragen over de website kerkomroep

Handige apps gebruiken in. ios

Handleiding Wordpress

Algemene handleiding voor de het signaleren in de verwijsindex Fryslân

Verwijderen van een persoon kan door de regel leeg te maken. Met de knop (linksonder) Verwijderen verwijdert u de hele pagina!

Transcriptie:

Tekstmanipulatie Week 3: Reguliere expressies Gosse Bouma g.bouma@rug.nl Informatiekunde Rijksuniversiteit Groningen 2007/2008 Gosse Bouma 1/38

Overzicht 1 Wildcards 2 Keuze 3 Ranges 4 Begin en Eind van een regel 5 Extended grep (egrep) 6 Vervangen Gosse Bouma 2/38

Zoeken naar patronen Zoek in tekst naar alle woorden die beginnen met anti woorden met 12 letters, woorden van drie of meer lettergrepen groepen van twee woorden beginnend met ter telefoonnummers, email-adressen, URLs Gosse Bouma 3/38

Vervangen van tekst Vervangen of verwijderen van tekst vervang herfst door najaar verwijder html mark-up, vervang ë door ë,... vervang email-adres, telefoonnummer door EMAIL, TEL deel een tekst op in regels Gosse Bouma 5/38

Reguliere expressies Patronen Reguliere expressies zijn patronen die matchen met strings die o.a. worden gebruikt in grep (zoeken) en sed (vervangen) Gosse Bouma 6/38

Wildcards Een willekeurig teken Een. matcht met een willekeurig teken > grep -w herfst wikipedia.txt > grep -ow he..st wikipedia.txt herfst heerst hengst heetst het st Gosse Bouma 8/38

Wildcards Een willekeurig aantal Een * achter een letter betekent 0 of meer keer > grep -ow ma*n > grep aaaa* man totaaal maan aaangeduid mn uiteraaard Gosse Bouma 10/38

Kiezen Kiezen tussen tekens Tekens tussen [] betekent een van deze tekens > grep -ow m[aei]n > grep -ow m[aeiou]*n man man men maaien min mn muon mien Gosse Bouma 12/38

Complement Complement van een verzameling [^abc] betekent alle tekens behalve a, b, en c > grep -ow m[^auio]n men mensen mensenrecten meerderen mensen met een met enkele reflexen Behalve woorden vinden we ook meerdere woorden achter elkaar... Gosse Bouma 14/38

Complement Woorden zonder uaio Voeg een spatie toe aan de verzameling waarvan je het complement neemt grep -ow m[^auio ]n Let op de quotes! Anders leest de shell dit als 2 quotes Woorden zonder uaio Gebruik een pipe grep -ow m[^auio]n wikipedia.txt grep -v Gosse Bouma 16/38

Complement Woorden zonder uaio Voeg een spatie toe aan de verzameling waarvan je het complement neemt grep -ow m[^auio ]n Let op de quotes! Anders leest de shell dit als 2 quotes Woorden zonder uaio Gebruik een pipe grep -ow m[^auio]n wikipedia.txt grep -v Gosse Bouma 16/38

Ranges Een range is een verzameling tekens [a-z] betekent een van de tekens tussen a en z > grep -ow [a-z]*ooi[a-z]* voltooid nooit ooit grandslamtoernooi Merk op dat het patroon niet matcht met spaties e.d. Gosse Bouma 18/38

Ranges Een range is een verzameling tekens Betekenis van een range hangt af van de character encoding UTF-8 ISO-8859-1, latin1 windows-1250... [a-z] betekent niet altijd alleen kleine letters In UTF-8 matcht [a-z] met aabb...yyz Gosse Bouma 20/38

Predefined Ranges Aan enkele sets van tekens is een speciale naam gegeven De volgende character sets leveren steeds dezelfde tekens, onafhankelijk van de encoding [:lower:] lower case letters [:upper:] upper case letters [:alnum:] of \w een letter of een getal \W niet een letter of een getal Gosse Bouma 22/38

Predefined Ranges > grep -ow [[:lower:]] l m o s p à Merk op dat ook letters met diacritische tekens matchen Gosse Bouma 24/38

Begin en Eind van een regel Zoek woorden aan het begin van een regel grep ^Amsterdam retourneert alle regels die beginnen met Amsterdam > grep ^Amsterdam is een Amsterdam is een linkse stad Amsterdam is een grootstedelijke gemeente Amsterdam is een stad in Bates County in de staat Miss Gosse Bouma 26/38

Begin en Eind van een regel Zoek woorden aan het eind van een regel grep Amsterdam$ retourneert alle regels die eindigen met Amsterdam > grep [a-z]*ste [a-z]* van Amsterdam.$ grootste evenement van Amsterdam. belangrijkste station van Amsterdam. grootste studentengezelligheidsvereniging van Amsterda voornaamste marineschilder van Amsterdam. Gosse Bouma 28/38

egrep grep -e = egrep Sommige patronen werken alleen wanneer je de -e optie gebruikt of het commando egrep s? s is optioneel s? s komt 1 of meer keer voor (herfst najaar) match met de string herfst of met de string najaar > grep besturings?systeem sort uniq -c 907 besturingsssyteem 17 besturingsysteem Gosse Bouma 30/38

sed stream editor sed sed s/herfst/najaar/ vervangt de string herfst door najaar > less weer.txt de herfst is natter dan de herfst van 2006 de winter is al begonnen > sed s/herfst/najaar/ herfst.txt de najaar is natter dan de herfst van 2006 de winter is al begonnen Gosse Bouma 32/38

sed opties voor s/regex/replacement/ g = globally, vervangt alle matches op een regel i = case-insensitive > sed s/de herfst/het najaar/g herfst.txt het najaar is natter dan het najaar van 2006 de winter is al begonnen Gosse Bouma 34/38

Redirects Schrijf uitvoer naar een bestand commando > filename schrijft resultaat van commando naar bestand filename sed s/de herfst/het najaar/g herfst > najaar.txt Gosse Bouma 36/38

Zoeken en vervangen Namen van bedrijven in Wikipedia Zoek naar tekst die de reeks bedrijf Naam RestvdNaam bevat verwijder bedrijf > egrep -o bedrijf ([A-Z]\w* )+ sed s/bedrijf // Google Apple Exxon America Online Nintendo Estee Lauder Gosse Bouma 38/38