> For the complete documentation index, see [llms.txt](https://doc.demarches-simplifiees.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.demarches-simplifiees.fr/experimentations/type-de-champ-expression-reguliere.md).

# Type de champ expression régulière

## Nouveau Type de Champ expérimental : Expression régulière

⚠️ Ce nouveau type de champ est à titre expérimental. La manière dont il est implémenté pourra changer à l'avenir.

Une expression régulière (regex) est une séquence de caractères utilisée pour décrire un ensemble spécifique de chaînes de caractères selon certaines syntaxes. Elle permet d'effectuer des recherches, des remplacements et des validations de données dans une chaîne de caractères.

Dans le cadre de la validation d'un champ de formulaire elle sert à valider les données entrées par un utilisateur en vérifiant si elles correspondent à un certain format. Par exemple, un regex peut vérifier qu'une adresse email entrée dans un champ de formulaire ressemble bien à une adresse email (ex : <nom@example.com>) ou à un numéro de téléphone.

Afin d'activer ce type de champ par démarche, veuillez vous rapprocher de notre équipe support (<contact@demarche.numerique.gouv.fr>) avec les numéros de démarches sur lesquelles vous voulez tester.\
\
Une fois que la fonctionnalité est activée, vous pouvez vous rendre dans l'éditeur de champs et choisir un type de champ expression régulière :

<figure><img src="https://463284772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L7_aKvpAJdAIEfxHudA%2Fuploads%2FG8S1iYxwOR58EVJT3GT1%2Fimage.png?alt=media&amp;token=a89a910b-8f5a-4130-bc49-2528b156371f" alt=""><figcaption><p>Choix du type de champ Expression régulière</p></figcaption></figure>

Des informations sont à renseigner :

<figure><img src="https://463284772-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L7_aKvpAJdAIEfxHudA%2Fuploads%2FxUaaJPlIYqFiie9YGqZy%2Fimage.png?alt=media&amp;token=49ec6ed2-2e2b-4b59-8b98-32337aec9d2a" alt=""><figcaption></figcaption></figure>

* Saisissez votre expression régulière : vous pouvez la tester sur <https://rubular.com/>
  * Exemple pour valider un code APE : ^\[0-9]{4}\[A-Z]$
    * Explication étape par étape :
      1. `^` et `$` : Ces symboles indiquent le début et la fin de la chaîne, respectivement. Ils s'assurent que tout le texte doit correspondre au modèle.
      2. `[0-9]{4}` : Ceci vérifie que les quatre premiers caractères sont des chiffres de 0 à 9.
      3. `[A-Z]` : Ceci vérifie qu'il y a une lettre majuscule à la fin.
* Saisissez un exemple qui passe votre expression régulière : pour que la démarche soit publiable, l'exemple doit être valide. Sinon il vous sera impossible de publier la démarche.
* Message d'erreur à afficher à l'usager : Il s'agit du message que vous voulez transmettre à l'usager en cas d'erreur de saisie

Exemples d'expressions régulières que nous testons actuellement :

* je souhaite contraindre la saisie à des chiffres uniquement, pas d'espace possible, ni caractère spécial : l'expression régulière à saisir est : "^\d+$" (sans les guillemets)
* je souhaite contraindre la saisie à 9 chiffres pas un de plus ni un de moins, l'expression régulière à saisir est : "^\d{9}$" (sans les guillemets)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.demarches-simplifiees.fr/experimentations/type-de-champ-expression-reguliere.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
