ÎncepețiÎncepe gratuit

Semnul întrebării și cele două înțelesuri ale sale

Operatorul SAU este util atunci când știi exact ce opțiuni sunt valide și ești sigur că una dintre ele este prezentă. Dar ce faci dacă vrei să potrivești un șablon în care o parte apare uneori, alteori nu? Aici intervine semnul întrebării ?:

? poate face opțional grupul sau caracterul precedent. Cu ajutorul lui, o expresie regulată se potrivește chiar dacă o anumită parte a șablonului lipsește. Atenție însă: dacă urmează după un multiplicator precum * sau +, semnul întrebării poate avea un al doilea efect:

? poate, de asemenea, transforma multiplicatorul precedent din „lacom" în „leneș". Asta înseamnă că, în loc să caute numărul maxim de caractere, expresia regulată va găsi numărul minim de potriviri.

Acest exercițiu face parte din cursul

Expresii regulate intermediare în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Potrivește atât forma de singular "Screen", cât și cea de plural "Screens", făcând ultimul "s" opțional.
  • Potrivește un număr arbitrar de caractere în fața unei virgule folosind .*.
  • Aplică același șablon cu un semn al întrebării ? după asterisc – observi vreo diferență?

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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 = "___,")
Editează și rulează codul