Video: Reguliere expressies met grep 2024
R ondersteunt het concept van reguliere expressies, waarmee je patronen binnen de tekst kunt zoeken. Je hebt misschien nog nooit gehoord van reguliere expressies, maar je bent waarschijnlijk bekend met het brede concept. Als u ooit een * of een hebt gebruikt? om een letter in een woord aan te duiden, dan hebt u een vorm van zoeken met wildcards gebruikt. Reguliere expressies ondersteunen het idee van wildcards en nog veel meer.
Reguliere expressies bieden drie manieren om een zoekpatroon algemener te maken dan een enkele, vaste expressie:
-
Alternatieven: U kunt zoeken naar instanties van het ene patroon of een ander, aangegeven door de | symbool. Bijvoorbeeld: beach | beech komt overeen met beach en beuken.
Op Engelse en Amerikaans-Engelse toetsenborden vindt u meestal de | op dezelfde sleutel als backslash ().
-
Groeperen: u groepeert patronen samen met haakjes (). U schrijft bijvoorbeeld (a | e) ch om zowel strand als beuken te vinden.
-
Kwantificatoren: U geeft op of een element in het patroon moet worden herhaald of niet door * toe te voegen (komt nul of vele malen voor) of + (komt één of vele keren voor). Als u bijvoorbeeld bach of beuken (nul of meer van a en e maar niet beide) wilt vinden, gebruikt u b (e * | a *) ch.
Probeer de volgende voorbeelden. Maak eerst een nieuwe variabele met vijf woorden: >> rwords <- c ("bach", "back", "bech", "beach", "black")
Zoek
beach > of beuk met behulp van alternatieve overeenkomsten:
Gebruik ten slotte de kwantifier-wijziging om
bach maar niet rwords [grep ("b (e * | a *) ch", rwords)] [1] "bach" "beuk" > Als u meer hulp in R over reguliere expressies wilt vinden, bekijkt u de Help-pagina? regexp. Enkele andere geweldige bronnen om meer te leren over reguliere expressies zijn Wikipedia en, waar je een snelstartgids en tutorials kunt vinden.
beuken
strand: