Ruby
Expressions régulières
Présentation
Le fonctionnement des expressions régulières en Ruby est largement inspiré de ce qui se fait en Perl. Par conséquent, les développeurs habitués au Perl ne seront pas dépaysés.
Voici quelques exemples présentant la syntaxe générale :
heure = "12:47:32"
heure =~ /(\d{2}):(\d{2}):(\d{2})/ # Mémorise chaque composante d'une heure (heure, minute, seconde)
puts "Heures : " + $1
puts "Minutes : " + $2
puts "Secondes : " + $3
# => Heures : 12
# => Minutes : 47
# => Secondes : 32
Ci-dessous, voici une liste des principales fonctionnalités à utiliser lors de la manipulation d'expressions régulières :
[ ] | spécification d'un intervalle (par exemple, [a-z] représente l'intervalle de 'a' à 'z') |
\d | caractère numérique : [0-9] |
\D | caractère non numérique |
\w | caractère alphanumérique : [0-9A-Za-z] |
\W | caractère non alphanumérique |
\s | caractère d'espacement :[ \t\n\r\f] |
\S | caractère non espace |
\b | backspace (0x08) (seulement dans un intervalle) |
\b | limite de mot (sauf dans un intervalle) |
\B | autre limite |
* | zero, 1 ou n occurrences |
+ | 1 ou n occurrences |
{m,n} | au moins m et au plus n occurrences |
? | au plus, une occurrence, équivalent à {0,1} |
| | alternative : soit ce qui précède soit ce qui suit |
() | groupe, ce qui est entre parenthèses est mémorisé puis accessible via $1, $2, ... |