Utiliser des expressions régulières avec XLSForm

Dernière mise à jour : 6 mai 2026

Une expression régulière, ou regex, est un modèle de recherche utilisé pour identifier des caractères ou des plages de caractères spécifiques dans un texte. Les expressions régulières sont couramment utilisées pour valider, rechercher, extraire ou restreindre la saisie de texte.

Dans KoboToolbox, les expressions régulières sont généralement utilisées pour contrôler la façon dont les utilisateurs saisissent des données. Par exemple, vous pouvez limiter un numéro de téléphone à exactement 10 chiffres, imposer un format d’identifiant spécifique, ou restreindre la saisie aux lettres majuscules uniquement.

Cet article présente les composants courants des expressions régulières ainsi que des exemples pratiques que vous pouvez utiliser pour valider et restreindre la saisie de texte dans vos formulaires.

Pour en savoir plus sur l'utilisation des expressions régulières dans vos formulaires, consultez l'article Introduction à la logique de formulaire dans XLSForm et l'article Introduction à la logique de formulaire dans le Formbuilder.

Composants courants des expressions régulières

Les expressions régulières dans KoboToolbox sont écrites à l’intérieur de la fonction regex(). Par exemple, regex(., '^[0-9]{10}$') limite la saisie à exactement 10 chiffres.

Les tableaux suivants décrivent les éléments regex les plus couramment utilisés.

Ancres et regroupements

Regex

Description

^

Correspond au début d’une chaîne de caractères

$

Correspond à la fin d’une chaîne de caractères

( )

Regroupe des caractères ensemble

|

Correspond à un modèle ou à un autre (OU logique)

Classes de caractères

Regex

Description

[abc]

Correspond à a, b ou c

[a-z]

Correspond à n’importe quelle lettre minuscule

[A-Z]

Correspond à n’importe quelle lettre majuscule

[0-9]

Correspond à n’importe quel chiffre de 0 à 9

[a-zA-Z0-9]

Correspond à des lettres ou des chiffres

[^abc]

Correspond à n’importe quel caractère sauf a, b ou c

[^A-Z]

Correspond à n’importe quel caractère sauf les lettres majuscules

Raccourcis pour les caractères spéciaux

Regex

Description

\d

Correspond à n’importe quel chiffre (équivalent à [0-9])

\D

Correspond à n’importe quel caractère non numérique

\w

Correspond à n’importe quelle lettre, chiffre ou tiret bas (_)

\W

Correspond à tout sauf les lettres, les chiffres et les tirets bas (_)

\s

Correspond à un espace ou une tabulation

\b

Correspond à une limite de mot

\.

Correspond à un point littéral (.)

\@

Correspond à un @ littéral

\$

Correspond à un $ littéral

\\

Correspond à une barre oblique inverse littérale (\)

\number

Fait référence à un groupe précédemment mis en correspondance

Quantificateurs

Regex

Description

?

Correspond à zéro ou une occurrence

*

Correspond à zéro ou plusieurs occurrences

+

Correspond à une ou plusieurs occurrences

{x}

Correspond exactement à x occurrences

{x,}

Correspond à au moins x occurrences

{x,y}

Correspond à entre x et y occurrences

Exemples courants

Les exemples suivants peuvent être utilisés comme contraintes ou critères de validation dans vos formulaires.

Expressions régulières courantes avec des chiffres

Regex

Description

regex(., “^\d+$”)

Limiter la saisie aux chiffres

regex(., “^\d{2}$”)

Limiter la saisie à 2 chiffres

regex(., “^\d{2,4}$”)

Limiter la saisie à 2-4 chiffres

regex(., “^\d{10}$”)

Limiter la saisie à 10 chiffres

regex(., “^[1-9][0-9]?$|^100$”)

Limiter la saisie à un nombre compris entre 1 et 100 (par exemple, pour un pourcentage)

regex(., “^[1-9][0-9]{8}$”)

Limiter la saisie à 9 chiffres, le premier chiffre ne peut pas être 0

regex(., “^\d{2}.\d{3}$”)

Limiter la saisie à un nombre au format 12.345

regex(., “^(\d{10}|\d{13}|\d{17})$”)

Limiter la saisie à 10, 13 ou 17 chiffres

regex(., “^(12|345)$”)

La saisie doit être 12 ou 345

regex(., '^[0-9+]{7,15}$')

Limiter la saisie à un numéro de téléphone (avec le signe + facultatif)

Expressions régulières courantes avec des lettres

Regex

Description

regex(., “^\D*$”)

Limiter la saisie aux lettres, espaces et symboles (sans chiffres)

regex(., “^[A-Za-z]+$”)

Limiter la saisie aux lettres

regex(., “^[A-Za-z\s]+$”)

Limiter la saisie aux lettres et aux espaces

regex(., “^[a-z]{1,6}$”)

Limiter la saisie à 1–6 lettres minuscules

regex(., “^[A-Z]{1,10}$”)

Limiter la saisie à 1–10 lettres majuscules

regex(., “^(Apple|Orange|Banana)$”)

La saisie doit correspondre à un mot de la liste

regex(., “^colou?r$”)

Accepte color ou colour

regex(., “^[A-Z\s]+$”)

Limiter la saisie aux lettres majuscules et aux espaces uniquement

regex(., “^[a-z_]+$”)

Limiter la saisie aux lettres minuscules et aux tirets bas (_)

Expressions régulières courantes avec des lettres et des chiffres

Regex

Description

regex(., “^\w{3}$”)

Limiter la saisie à exactement 3 lettres, chiffres ou tirets bas (_)

regex(., “^[A-Z]{1}[0-9]{8}$”)

Limiter la saisie à une lettre et huit chiffres

regex(., “^CAR-PRC-2020-\d{4}$”)

Limiter la saisie à un format d’identifiant spécifique

regex(., “^\W*(\w+\b\W*){3}$”)

Limiter la saisie à exactement 3 mots

regex(., “^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*(\.[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)*\.[a-zA-Z]{2,}$”)

Limiter la saisie au format e-mail courant

Pour obtenir de l'aide supplémentaire pour créer et tester des modèles, visitez : http://www.regexr.com/