<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Blr</id>
	<title>LimeSurvey Manual - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.limesurvey.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Blr"/>
	<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/Special:Contributions/Blr"/>
	<updated>2026-08-13T06:43:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3696</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3696"/>
		<updated>2011-06-02T20:54:11Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement que l&#039;utilisateur est saisi un caract&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus  || A* = z&amp;amp;eacute;ro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent apr&amp;amp;egrave;s le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est &amp;amp;eacute;quivalent &amp;amp;agrave; /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cette expression permet de valider un format d&#039;heure HH:MM ex : 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS o&amp;amp;ugrave; la partie de secondes est optionnelle ex : 11:32:53 ou bien 11:32&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de valider un format d&#039;heure HH:MM:SS o&amp;amp;ugrave; la partie des secondes est obligatoire ex : 11:32:53&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premier et le dernier caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 &amp;amp;agrave; 5 lignes, vous pouvez changer les valeurs du quantificateur {0,4}.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;&amp;amp;eacute;crire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3697</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3697"/>
		<updated>2011-06-02T18:02:52Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus  || A* = z&amp;amp;eacute;ro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent apr&amp;amp;egrave;s le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est &amp;amp;eacute;quivalent &amp;amp;agrave; /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 &amp;amp;agrave; 5 lignes, vous pouvez changer&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;&amp;amp;eacute;crire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez varier le minimum et le maximum selon vos besoins en changeant {0,199} ( voir ci-dessus le tableau &#039;&#039;Quantificateur&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====Validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3698</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3698"/>
		<updated>2011-06-02T17:49:49Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification   || Exemple&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus  || A* = z&amp;amp;eacute;ro ou plus de lettre A&lt;br /&gt;
|-&lt;br /&gt;
|   + || 1 ou plus       || A+ = une lettre A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1          || A? = pas de lettre A ou une seule lettre A&lt;br /&gt;
|-&lt;br /&gt;
| {n} || n fois exactement || A{3} = trois lettres A&lt;br /&gt;
|-&lt;br /&gt;
|{min,} || minimum min fois et plus || A{3,} trois lettres A ou plus&lt;br /&gt;
|-&lt;br /&gt;
|{min,max}|| minimum min et maximum max  fois || A{3,7} trois lettres A au minimum et au maximum 7 lettres A&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent apr&amp;amp;egrave;s le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est &amp;amp;eacute;quivalent &amp;amp;agrave; /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 &amp;amp;agrave; 5 lignes, vous pouvez changer&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Limiter le nombre de mots===&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous permet d&#039;&amp;amp;eacute;crire au minimum 1 mot et au maximum 200 mots.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====Validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3699</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3699"/>
		<updated>2011-06-02T11:39:47Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/ (en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html (en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent apr&amp;amp;egrave;s le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est &amp;amp;eacute;quivalent &amp;amp;agrave; /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une heure==&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 &amp;amp;agrave; 5 lignes, vous pouvez changer&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
==== mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
====Validation du mot dans une liste====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3700</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3700"/>
		<updated>2011-06-02T11:30:16Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent apr&amp;amp;egrave;s le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est &amp;amp;eacute;quivalent &amp;amp;agrave; /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si voulez 1 ou plusieurs mots par ligne et de 1 &amp;amp;agrave; 5 lignes, vous pouvez changer&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3701</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3701"/>
		<updated>2011-06-02T10:30:01Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent.&lt;br /&gt;
&lt;br /&gt;
Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent apr&amp;amp;egrave;s le dernier slash ex : /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-z]/i est &amp;amp;eacute;quivalent &amp;amp;agrave; /&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3702</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3702"/>
		<updated>2011-06-02T10:28:15Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent. Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re sauf \n||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|   - || intervalle  ||   a-z&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || nouvelle ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Modificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
| i || ignore la casse&lt;br /&gt;
|-&lt;br /&gt;
| x || le point reconnait aussi \n&lt;br /&gt;
|-&lt;br /&gt;
| m || mode multi lignes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les modificateurs se mettent apr&amp;amp;egrave;s le dernier slash ex : /[a-z]/i est &amp;amp;eacute;quivalent &amp;amp;agrave; /[a-zA-Z]/&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3703</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3703"/>
		<updated>2011-06-02T10:15:20Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent. Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~124~mot2~124~mot3&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification || &amp;amp;Eacute;quivalence&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne||&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation||&lt;br /&gt;
|-&lt;br /&gt;
| \v || tabulation vertical||&lt;br /&gt;
|-&lt;br /&gt;
| \f || nouvelle page||&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;\n\r\t\v\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \S || tous les caract&amp;amp;egrave;res sauf les caract&amp;amp;egrave;res d&#039;espacement|| &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\n\r\t\v\f]&lt;br /&gt;
|-&lt;br /&gt;
|   \d || les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \D || tous les caract&amp;amp;egrave;res sauf les chiffres||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~0-9]&lt;br /&gt;
|-&lt;br /&gt;
| \w || caract&amp;amp;egrave;re constituant un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;0-9a-zA-Z_]&lt;br /&gt;
|-&lt;br /&gt;
| \W || tous les caract&amp;amp;egrave;res ne constituant pas un mot||&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~\w]&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal(hh) ex: \x41 = A||&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3704</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3704"/>
		<updated>2011-06-02T09:40:39Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent. Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;  ]|| tous les caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|-&lt;br /&gt;
|   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~  ]|| tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;~94~abc]&lt;br /&gt;
|-&lt;br /&gt;
|   ~124~ || tous les caract&amp;amp;egrave;res sauf ceux qui sont &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   mot1~94~mot2~94~mot3&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantificateur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3705</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3705"/>
		<updated>2011-06-02T08:45:21Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent. Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
L&#039;expression ci-dessous v&amp;amp;eacute;rifie qu&#039;il y a au moins un mot par ligne et qu&#039;il y a au moins trois lignes mais pas plus de 10 lignes :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous voulez v&amp;amp;eacute;rifier qu&#039;il y a au moins 5 mots par ligne, vous devez changer le premi&amp;amp;egrave;r et le derni&amp;amp;egrave;r caract&amp;amp;egrave;re &amp;amp;eacute;toile (*) par {4,}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3706</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3706"/>
		<updated>2011-06-02T08:03:03Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent. Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
Pour certain type de question, LimeSurvey propose dans les param&amp;amp;egrave;tres avanc&amp;amp;eacute;s ce type de contr&amp;amp;ocirc;le.&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie minimum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une longueur de saisie maximum====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Validation de texte==&lt;br /&gt;
&lt;br /&gt;
Actuellement, le type de question &#039;&#039;Multiples zones de texte court&#039;&#039; ne permet pas de contr&amp;amp;ocirc;ler le minimum ou le maximum de r&amp;amp;eacute;ponses.&lt;br /&gt;
&lt;br /&gt;
Une des mani&amp;amp;egrave;res d&#039;y parvenir est d&#039;utiliser le type question &#039;&#039;Zone de texte long&#039;&#039; sur laquelle on appliquera une expression r&amp;amp;eacute;guli&amp;amp;egrave;re.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3707</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3707"/>
		<updated>2011-06-02T07:46:05Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres&lt;br /&gt;
&lt;br /&gt;
en majuscule et d&#039;autre part si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites qui traitent de ces sujets comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;expression r&amp;amp;eacute;guli&amp;amp;egrave;re est un moyen puissant,flexible et efficace d&#039;appliquer un traitement sur du texte.&lt;br /&gt;
&lt;br /&gt;
Gr&amp;amp;acirc;ce &amp;amp;agrave; une notation g&amp;amp;eacute;n&amp;amp;eacute;rale (motif, pattern), c&#039;est une sorte de mini-langage de programmation qui permet de d&amp;amp;eacute;crire&lt;br /&gt;
&lt;br /&gt;
et d&#039;analyser le texte. Plusieurs notations existent. Celle utilis&amp;amp;eacute;e dans LimeSurvey est du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie minimum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie maximum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Text validation==&lt;br /&gt;
&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3708</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3708"/>
		<updated>2011-06-01T19:12:54Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se font gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
Dans la situation pr&amp;amp;eacute;sent&amp;amp;eacute;e ci-dessus, la r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute;e comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres en majuscule et d&#039;autres&lt;br /&gt;
&lt;br /&gt;
si le nombre de lettres est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites traitent de ce sujet comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey sont du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie minimum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie maximum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Text validation==&lt;br /&gt;
&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3709</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3709"/>
		<updated>2011-06-01T19:05:45Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se sont gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
La copie d&#039;&amp;amp;eacute;cran ci-dessus montre la zone de saisie &#039;&#039;Validation&#039;&#039; permettant d&#039;effectuer un contr&amp;amp;ocirc;le sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
La r&amp;amp;eacute;ponse sera consid&amp;amp;eacute;r&amp;amp;eacute; comme valide si d&#039;une part elle est compos&amp;amp;eacute;e uniquement de lettres en majuscule et d&#039;autres&lt;br /&gt;
&lt;br /&gt;
si le nombre de lettre est compris entre 1 et 10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le contenu de la zone de saisie &#039;&#039;Validation&#039;&#039; soit &amp;amp;eacute;valu&amp;amp;eacute;, il faut obligatoirement rendre la question obligatoire.&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites traitent de ce sujet comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey sont du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;/div&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie minimum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie maximum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Text validation==&lt;br /&gt;
&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3710</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3710"/>
		<updated>2011-06-01T18:55:53Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Validation dans LimeSurvey=&lt;br /&gt;
&lt;br /&gt;
Lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, le texte de la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir tous les attributs de contr&amp;amp;ocirc;le pouvant satisfaire les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie &#039;&#039;Validation&#039;&#039; de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question joue ce r&amp;amp;ocirc;le et permet d&#039;ajouter des contr&amp;amp;ocirc;les suppl&amp;amp;eacute;mentaires sur la r&amp;amp;eacute;ponse.&lt;br /&gt;
&lt;br /&gt;
Ces contr&amp;amp;ocirc;les se sont gr&amp;amp;acirc;ce &amp;amp;agrave; des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res que l&#039;on place dans la zone de saisie &#039;&#039;Validation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;u&amp;gt;Fig.1 : Extrait de l&#039;&amp;amp;eacute;cran d&#039;&amp;amp;eacute;dition d&#039;une question&amp;lt;/u&amp;gt;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&amp;lt;u&amp;gt;Avertissements&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res&lt;br /&gt;
&lt;br /&gt;
ou bien d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites traitent de ce sujet comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey sont du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie minimum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie maximum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Text validation==&lt;br /&gt;
&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3711</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3711"/>
		<updated>2011-06-01T18:31:11Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Avertissements=&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res ou bien&lt;br /&gt;
&lt;br /&gt;
d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites traitent de ce sujet comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&lt;br /&gt;
&lt;br /&gt;
=#Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey=&lt;br /&gt;
&lt;br /&gt;
lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir&lt;br /&gt;
&lt;br /&gt;
des attributs pour tous les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie Validation joue ce r&amp;amp;ocirc;le. Dans cette zone, vous pouvez vous pouvez Les expression r&amp;amp;eacute;guli&amp;amp;egrave;res peuvent r&amp;amp;eacute;pondre.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey sont du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie minimum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie maximum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Text validation==&lt;br /&gt;
&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3712</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3712"/>
		<updated>2011-06-01T17:38:23Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Avertissements=&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res ou bien&lt;br /&gt;
&lt;br /&gt;
d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites traitent de ce sujet comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&lt;br /&gt;
&lt;br /&gt;
=#Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey=&lt;br /&gt;
&lt;br /&gt;
lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, la question, le type de question,&lt;br /&gt;
&lt;br /&gt;
le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir&lt;br /&gt;
&lt;br /&gt;
des attributs pour tous les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie Validation joue ce r&amp;amp;ocirc;le. Dans cette zone, vous pouvez vous pouvez Les expression r&amp;amp;eacute;guli&amp;amp;egrave;res peuvent r&amp;amp;eacute;pondre.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey sont du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie minimum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie maximum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Text validation==&lt;br /&gt;
&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
	<entry>
		<id>https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3713</id>
		<title>Utilisation des expressions régulières</title>
		<link rel="alternate" type="text/html" href="https://www.limesurvey.org/manual/index.php?title=Utilisation_des_expressions_r%C3%A9guli%C3%A8res&amp;diff=3713"/>
		<updated>2011-06-01T17:36:17Z</updated>

		<summary type="html">&lt;p&gt;Blr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;La traduction de cette page n&#039;est pas termin&amp;amp;eacute;e.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=#Avertissements=&lt;br /&gt;
&lt;br /&gt;
L&#039;objet de cette section n&#039;est pas d&#039;expliquer comment constituer des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res ou bien&lt;br /&gt;
&lt;br /&gt;
d&#039;expliquer leurs fonctionnements.&lt;br /&gt;
&lt;br /&gt;
De tr&amp;amp;egrave;s bons livres le font comme Ma&amp;amp;icirc;trise des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res de Jeffrey E. F. Friedl.&lt;br /&gt;
&lt;br /&gt;
Il y a &amp;amp;eacute;galement des sites traitent de ce sujet comme  http://www.regxlib.net/(en anglais)&lt;br /&gt;
&lt;br /&gt;
ou bien http://perl.enstimac.fr/DocFr/perlrequick.html(en fran&amp;amp;ccedil;ais).&lt;br /&gt;
&lt;br /&gt;
=#Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey=&lt;br /&gt;
&lt;br /&gt;
lorsque vous d&amp;amp;eacute;finissez les attributs d&#039;une question, vous devez indiquer son code, la question, le type de question, le nombre minimum et/ou maximum de caract&amp;amp;egrave;res, etc.&lt;br /&gt;
&lt;br /&gt;
Cependant, il n&#039;est pas possible d&amp;amp;eacute;finir des attributs pour tous les besoins des utilisateurs de LimeSurvey.&lt;br /&gt;
&lt;br /&gt;
La zone de saisie Validation joue ce r&amp;amp;ocirc;le. Dans cette zone de saisie, vous pouvez Les expression r&amp;amp;eacute;guli&amp;amp;egrave;res peuvent r&amp;amp;eacute;pondre.&lt;br /&gt;
&lt;br /&gt;
[[File:LimeSurvey-2011-06-01-19-18.png]]&lt;br /&gt;
&lt;br /&gt;
=#Bref rappel=&lt;br /&gt;
&lt;br /&gt;
Les expressions r&amp;amp;eacute;guli&amp;amp;egrave;res dans LimeSurvey sont du type PERL et doivent commencer et se terminer par le caract&amp;amp;egrave;re slash (&amp;quot;/&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   M&amp;amp;eacute;tacaract&amp;amp;egrave;re||   Signification||&lt;br /&gt;
|-&lt;br /&gt;
|   .||   n&#039;importe quel caract&amp;amp;egrave;re||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt; ]|| tous caract&amp;amp;egrave;res &amp;amp;eacute;num&amp;amp;eacute;r&amp;amp;eacute;s  ||   &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;abc]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Quantifieur||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   * ||   z&amp;amp;eacute;ro ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   1 || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   ? || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| {4} || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
|{4,} || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
|{4,6}|| 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|   Caract&amp;amp;egrave;res||   Signification&lt;br /&gt;
|-&lt;br /&gt;
|   \s ||   espace, tabulation&lt;br /&gt;
|-&lt;br /&gt;
|   \S || 1 ou plus&lt;br /&gt;
|-&lt;br /&gt;
|   \d || 0 ou 1&lt;br /&gt;
|-&lt;br /&gt;
| \D || 4 fois exactement&lt;br /&gt;
|-&lt;br /&gt;
| \w || 4 fois et plus&lt;br /&gt;
|-&lt;br /&gt;
| \W || 4,5 ou 6 fois&lt;br /&gt;
|-&lt;br /&gt;
| \n || &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \r || retour &amp;amp;agrave; la ligne&lt;br /&gt;
|-&lt;br /&gt;
| \t || tabulation&lt;br /&gt;
|-&lt;br /&gt;
| \xhh || caract&amp;amp;egrave;re en hexad&amp;amp;eacute;cimal (hh)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Vous pouvez tester vos expressions r&amp;amp;eacute;guli&amp;amp;egrave;res sur http://www.spaweditor.com/scripts/regex/index.php&lt;br /&gt;
&lt;br /&gt;
=#Quelques exemples=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;&#039;&#039;Vous pouvez ajouter des expressions r&amp;amp;eacute;guli&amp;amp;egrave;res mais test&amp;amp;eacute;es auparavant!&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples (notez qu&#039;elles sont toutes sur une seule ligne):&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un code postal fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B[0-9]{3}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du code postal mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation du num&amp;amp;eacute;ro de d&amp;amp;eacute;partement fran&amp;amp;ccedil;ais==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^0[1-9]|[1-8][0-9]|9[0-8]|2A|2B$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression teste seulement de le format du num&amp;amp;eacute;ro du d&amp;amp;eacute;partement mais pas de sa validit&amp;amp;eacute;.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un nombre==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre entier===&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 20 &amp;amp;agrave; 99====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/([2-9][0-9])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 18 &amp;amp;agrave; 35====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/(1[8-9]|2[0-9]|3[0-5])/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle d&amp;amp;eacute;fini (age, etc.) de 19 &amp;amp;agrave; 65====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;(1[8-9]|[2-5][0-9]|6[0-5])$&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans un intervalle de 1 &amp;amp;agrave; 99999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9])$/&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,4}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C&#039;est deux expressions produisent le m&amp;amp;ecirc;me r&amp;amp;eacute;sultat.&lt;br /&gt;
&lt;br /&gt;
====nombre entier compris dans plusieurs intervalles de 1 &amp;amp;agrave; 999, de 1.000 &amp;amp;agrave; 999.999====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:\.[0-9]{3}){0,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 10====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]{1}$|^10$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====validation d&#039;un score compris entre 1 et 100====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[1-9]?[0-9]{1}$|^100$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;un nombre d&amp;amp;eacute;cimal===&lt;br /&gt;
&lt;br /&gt;
Ce type de validation peut &amp;amp;ecirc;tre utilis&amp;amp;eacute; dans le cas de prix, mesure&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un nombre d&amp;amp;eacute;cimal====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^([1][0-9][0-9]|[1-9][0-9]|[0-9])[[\.)[0-9][0-9])?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 les nombres entre ayant une partie d&amp;amp;eacute;cimale optionnelle &amp;amp;agrave; deux chiffres accepts numbers from 0 to 199, with 2 decimal optionnal&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}\.[0-9]{2}$/&lt;br /&gt;
&lt;br /&gt;
 forces two decimal points&lt;br /&gt;
&lt;br /&gt;
 accepts numbers from 1.00 to 999,999,999.00 with an optional comma delimiting thousands/millions&lt;br /&gt;
&lt;br /&gt;
 including all of the following: 1.00, 1,000.00 , 12,345.67 , 12345,02 , 123,456,468.00 , 1234566.00 , 123456789.00&lt;br /&gt;
&lt;br /&gt;
 but not 1,23.00 , 12,3.4 or 1234,43.04&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;/^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(?:\.[0-9]{2})?$/ same as above but the two decimal points are optional&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ==Monnaie==&lt;br /&gt;
&lt;br /&gt;
 ====Euro (le signe Euro et les centimes sont optionnels)====&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;/^\d+(\.(\d{3}]]?&amp;amp;euro;?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dollar US====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\$?\d+(\.(\d{2}))?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le signe dollar en d&amp;amp;eacute;but de saisie et les cents sont optionnels.&lt;br /&gt;
&lt;br /&gt;
====Prix en Franc Suisse====&lt;br /&gt;
&lt;br /&gt;
C&#039;est un nombre avec deux d&amp;amp;eacute;cimales  apr&amp;amp;egrave;s la virgule dont le dernier chiffre est soit 5, soit 0.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(\d+)(\.\d(05)?)?$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une date==&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/\d{4}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;une date au format jj/mm/aaaa du 20 ou 21&amp;amp;eacute;me si&amp;amp;egrave;cle====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^\d{1,2}\/\d{1,2}\/(19|20)\d{2}$/&amp;lt;/nowiki&amp;gt; a tester&lt;br /&gt;
&lt;br /&gt;
====Validation d&#039;un mois (1-12)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^[0]?[1-9]$|^1[0-2]$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expression permet de saisir le mois de janvier soit 1, soit 01.&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;une longueur de saisie==&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie minimum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur minimum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
===Validation d&#039;une longueur de saisie maximum===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^.{3,}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ici la longueur maximum est de 3 caract&amp;amp;egrave;res quelconques&lt;br /&gt;
&lt;br /&gt;
==Text validation==&lt;br /&gt;
&lt;br /&gt;
currently multiple short text doesn&#039;t support minimum or maximum answers. One way around this is to use a long free text type question with a regular expression.&lt;br /&gt;
&lt;br /&gt;
The following test for at least one word per line for at least 3 lines and no more than 10 lines. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted, say five words per line you could change the first and last star/asterisk to {4,} e.g. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+){4,})){2,10}/is&amp;lt;/nowiki&amp;gt;If you wanted one or more words per line on between 1 and 5 lines, you can change the content of the last curley braces to {0,4} (note you use 0 because you&#039;re already matching the first line. &amp;lt;nowiki&amp;gt;/(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)(?:[,.;:?!&amp;amp; \n\r]?(?:\n|\r|\n\r|\r\n)(?:[&amp;lt;/div&amp;gt;,.;:?!&amp;amp; \n\r]+(?: [&amp;lt;div class=&amp;quot;simplebox&amp;quot;&amp;gt;,.;:?!&amp;amp; \n\r]+)*)){0,4}/is&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Word count===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following restricts the number of words allowed to a minimum of 1 and a maximum of 200&lt;br /&gt;
&lt;br /&gt;
/^[-\w]+(?:\W+[-\w]+){0,199}\W*$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;To increase the minimum change the zero part of {0,199}&lt;br /&gt;
&lt;br /&gt;
To increase or decrease the maximum change the &amp;quot;199&amp;quot; part of {0,199}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Time validation==&lt;br /&gt;
&lt;br /&gt;
There are a number of ways of writing time formats. Some of the possible options are 12 hour or 24 hour, with seconds or without. Currently  (2009/04/06) LimeSurvey (v1.80plus) doesn&#039;t have a Time queston type so instead you can use &amp;quot;short free text&amp;quot; with one of the nine validation regular expressions below:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;The following three validation strings test for 24 hour time (in order of appearences) without seconds, with optional seconds lastly with seconds required.&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/&lt;br /&gt;
&lt;br /&gt;
/^(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/~/pp&amp;lt;span style=&amp;quot;color:pp~The following three match 12 hour time, as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?&amp;quot;&amp;gt;00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9](?::[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?::[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?::[0-5][0-9])? (?:pm|PM))$/&lt;br /&gt;
&lt;br /&gt;
/^(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))$/~/pp&amp;lt;/span&amp;gt;pp~The following three match either 12 or 24 hour time as above with seconds, optional seconds and with seconds required&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9])$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])? (?:[ap]m|[AP]M)|12:[0-5][0-9](?&amp;lt;center&amp;gt;[0-5][0-9])? (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9](?&amp;lt;/center&amp;gt;[0-5][0-9])?)$/&lt;br /&gt;
&lt;br /&gt;
/^(?:(?:00:[0-5][0-9]:[0-5][0-9] (?:am|AM)|(?:0[1-9]|1[01]):[0-5][0-9]:[0-5][0-9] (?:[ap]m|[AP]M)|12:[0-5][0-9]:[0-5][0-9] (?:pm|PM))|(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Validation d&#039;un mot==&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le mot saisie doit correspondre exactement (minuscule) au mot dans la liste.&lt;br /&gt;
&lt;br /&gt;
===Validation du mot dans une liste===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/^(arbre|feuille|fleur){1,1}$/i&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ici, on ne tient pas compte des minuscules et des majuscules : Les mots suivants Arbre,arbre, ARBRE, ArBrE, etc. sont tous valides.&lt;/div&gt;</summary>
		<author><name>Blr</name></author>
	</entry>
</feed>