Aan de slagGa gratis aan de slag

Het vraagteken en zijn twee betekenissen

De of-operator is handig als je precies weet welke opties geldig zijn, en ook zeker weet dat één van die opties voorkomt. Maar wat als je een patroon wilt vinden waarbij een deel soms aanwezig is en soms niet? Daar komt het vraagteken ? om de hoek kijken:

De ? kan de voorafgaande groep of het voorafgaande teken optioneel maken. Daarmee komt een reguliere expressie overeen, ook als een bepaald deel van het patroon ontbreekt. Let wel: als het volgt op een vermenigvuldiger zoals * of +, kan het vraagteken een tweede effect hebben:

De ? kan ook de voorafgaande vermenigvuldiger "lui" maken in plaats van "gulzig". Dit betekent dat reguliere expressies in plaats van naar het maximale aantal tekens te zoeken, met ? juist het minimale aantal tekstmatches proberen te vinden.

Deze oefening maakt deel uit van de cursus

Gevorderde reguliere expressies in R

Cursus bekijken

Oefeninstructies

  • Match zowel het enkelvoud "Screen" als het meervoud "Screens" door de laatste "s" optioneel te maken.
  • Match een willekeurig aantal willekeurige tekens vóór een komma met .*.
  • Match hetzelfde patroon met een vraagteken ? na de ster – zie je het verschil?

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Match both Screen and Screens by making the last "s" optional
str_match(lines, pattern = "Screens___")

# Match a random amount of arbitrary characters, followed by a comma
str_match(lines, pattern = "___,")

# Match the same pattern followed by a comma, but the "lazy" way
str_match(lines, pattern = "___,")
Code bewerken en uitvoeren