# Correspondance de motif

Quand vous obtenez et affectez de l’information dans l’État du Temps, il est possible d’utiliser des clés plus complexes que les symboles basiques comme `:foo`et `:bar`. Vous pouvez également utiliser des chaînes de caractères de format URL appelées chemin comme `"/foo/bar/baz"`. Lorsque nous avons commencé à travailler avec les chemins, nous pouvons commencer à prendre avantage du système sophistiqué de correspondance de motif de Sonic Pi pour `get` et `sync` des chemins “similaires” au lieu “d’identiques”. Étudions cela de plus près.

## Faire correspondre n’importe quel segment de chemin

Assumons que nous voulons attendre pour le prochain événement qui a trois segments de chemin :

    sync "/*/*/*"

Ceci va faire une correspondance avec tout événement d’État du Temps avec exactement trois segments de chemin, et ce, peu importe leur nom. Par exemple :

`cue "/foo/bar/baz"` `cue "/foo/baz/quux"` `cue "/eggs/beans/toast"` `cue "/moog/synths/rule"`

Toutefois, ça ne correspondra pas avec des chemins qui ont plus ou moins de segments. L’élément suivant n’aura pas de correspondance :

`cue "/foo/bar"` `cue "/foo/baz/quux/quaax"` `cue "/eggs"`

Chaque `*` signifie n’importe quel contenu. Donc, nous pourrions trouver des correspondance avec des chemins d’un seul segment avec `/*` ou des chemins avec cinq segments avec `/*/*/*/*/*`

## Faire des correspondances de segments partiels

foo

`cue "/foo/bar/baz"` foo foo

Cependant, cela ne correspondrait pas avec ceci :

foo foo foo

foo

## Faire correspondre des segments de chemins imbriqués

foo

`cue "/foo/bar/baz"` foo foo foo

## Faire correspondre des lettres

Vous pouvez utiliser le caractère `?` pour faire une correspondance sur un seul caractère comme `"/?oo/bar/baz"` ce qui correspondra avec :

`cue "/foo/bar/baz"` `cue "/goo/bar/baz"` `cue "/too/bar/baz"` `cue "/woo/bar/baz"`

## Faire correspondre plusieurs mots

foo

foo foo foo

## Faire correspondre plusieurs lettres

foo

foo foo foo

foo

foo foo foo foo foo

## Combiner des correspondances

En appelant `sync` ou `get`, vous êtes libre de combiner des correspondances dans n’importe quel ordre qui vous convient pour faire correspondre des événements d’État du Temps créés par `cue` ou `set`. Regardons un exemple fou :

    sample :loop_amen

## Correspondance de motif OSC

Pour les curieux, ces règles de correspondance sont basées sur la spécification de correspondance de motif Open Sound Control, qui est expliquée en détail ici : http://opensoundcontrol.org/spec-1_0