Třídy znaků a opakování

Intermediate Regular Expressions in R

Angelo Zehr

Data Journalist

Dostupné třídy znaků

Třída znaků Příklad
\\d or [:digit:] 0, 1, 2, 3,…
\\w or [:word:] a, b, c…, 1, 2, 3…, _
[A-Za-z] or [:alpha:] A, B, C,…, a, b, c,…
[aeiou] either a, e, i, o or u
\\s or [:space:] " ", tabs or line breaks
Intermediate Regular Expressions in R

Konkrétní příklad

str_match_all() Výsledek
"Hi John_35", "\\d" "3", "5"
"Hi John_35", "\\w" "H", "i", "J", "o", "h", "n", "_", "3", "5"
"Hi John_35", "[A-Za-z]" "H", "i", "J", "o", "h", "n"
"Hi John_35", "[aeiou]" "i", "o"
"Hi John_35", "\\s" " "
Intermediate Regular Expressions in R

Opakování

Syntaxe Význam
\\w{2} přesně 2krát
\\w{2,3} minimálně 2krát, maximálně 3krát
\\w{2,} minimálně 2krát, bez maxima
\\w+ 1 nebo více opakování
\\w* 0, 1 nebo více opakování
Intermediate Regular Expressions in R

Inverze tříd znaků

Původní Negace
\\d shoda s číslicemi \\D shoda se vším kromě číslic
\\w shoda se slovními znaky \\W shoda se vším kromě slovních znaků
\\s shoda s mezerami \\S shoda se vším kromě mezer
[a-zA-Z] shoda s abecedou [^a-zA-Z] shoda se vším kromě abecedy
Intermediate Regular Expressions in R

Vlastní vzor s třídami znaků

str_match_all("Toy Story 3", "[\\d\\s]")

Výsledek:

     [,1]
[1,] " " 
[2,] " " 
[3,] "3"
Intermediate Regular Expressions in R

Pojďme si procvičit!

Intermediate Regular Expressions in R

Preparing Video For Download...