New name for regexp capturing groups
This commit is contained in:
parent
41156db3aa
commit
d51d91b9bb
@ -90,7 +90,7 @@ Voici un aperçu des propriétés disponibles :
|
|||||||
* `showlines = false` : (facultatif, par défaut : `false`) lorsque le drapeau est un tableau et que `showlines` est vrai, le nombre d'éléments du tableau sera donné au participant, sinon il devra déterminer lui-même le nombre d'éléments à trouver (pour l'instant cette option est limitée à un tableau de 9 éléments maximum, c'est normal si ça bug au delà, demandez-moi si vous avez besoin de plus) ;
|
* `showlines = false` : (facultatif, par défaut : `false`) lorsque le drapeau est un tableau et que `showlines` est vrai, le nombre d'éléments du tableau sera donné au participant, sinon il devra déterminer lui-même le nombre d'éléments à trouver (pour l'instant cette option est limitée à un tableau de 9 éléments maximum, c'est normal si ça bug au delà, demandez-moi si vous avez besoin de plus) ;
|
||||||
* `bonus_gain = 33` : (facultatif) donne des points supplémentaire si complété ;
|
* `bonus_gain = 33` : (facultatif) donne des points supplémentaire si complété ;
|
||||||
* `ordered = false` : (facultatif, par défaut : `false`) ignore l'ordre dans lequels les éléments du tableau sont passés ;
|
* `ordered = false` : (facultatif, par défaut : `false`) ignore l'ordre dans lequels les éléments du tableau sont passés ;
|
||||||
* `validator_regexp = "^(?:sudo +)?(.*)$"` : (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
* `capture_regexp = "^(?:sudo +)?(.*)$"` : (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
||||||
* `casesensitive = true` : (facultatif, par défaut : `false`) prend en compte la casse de ce drapeau ;
|
* `casesensitive = true` : (facultatif, par défaut : `false`) prend en compte la casse de ce drapeau ;
|
||||||
* `placeholder = "dd/mm/yyyy"` : (facultatif) chaîne de caractères initiale placée dans le champ du formulaire, idéale pour donner une indication de format ;
|
* `placeholder = "dd/mm/yyyy"` : (facultatif) chaîne de caractères initiale placée dans le champ du formulaire, idéale pour donner une indication de format ;
|
||||||
* `help = "Complément"` : (facultatif) petit paragraphe placé sous le champ du formulaire, idéal pour donner une indication complémentaire ;
|
* `help = "Complément"` : (facultatif) petit paragraphe placé sous le champ du formulaire, idéal pour donner une indication complémentaire ;
|
||||||
@ -103,7 +103,7 @@ Voici un aperçu des propriétés disponibles :
|
|||||||
+ `value = true` (facultatif, par défaut `false`, sauf si `raw` est précisé) : valeur attendue pour ce choix,
|
+ `value = true` (facultatif, par défaut `false`, sauf si `raw` est précisé) : valeur attendue pour ce choix,
|
||||||
+ `raw = "Justification"` (nécessaire pour un [QCM justifié]({{< relref "/responses/mcq_justified.md" >}})) : utilisez une chaîne de caractères (notez qu'il n'est pas possible de combiner des réponses vraies justifiées et non justifiées),
|
+ `raw = "Justification"` (nécessaire pour un [QCM justifié]({{< relref "/responses/mcq_justified.md" >}})) : utilisez une chaîne de caractères (notez qu'il n'est pas possible de combiner des réponses vraies justifiées et non justifiées),
|
||||||
+ `help = "Flag correspondant"` : (facultatif) indication affichée dans le champ de texte des QCM justifiés,
|
+ `help = "Flag correspondant"` : (facultatif) indication affichée dans le champ de texte des QCM justifiés,
|
||||||
+ ... toutes les autres propriétés applicables à un flag simple peuvent être utilisées : `ordered`, `validator_regexp`, `casesensitive`, ... ;
|
+ ... toutes les autres propriétés applicables à un flag simple peuvent être utilisées : `ordered`, `capture_regexp`, `casesensitive`, ... ;
|
||||||
|
|
||||||
|
|
||||||
## Dépendances entre flags
|
## Dépendances entre flags
|
||||||
|
@ -62,7 +62,7 @@ label
|
|||||||
raw
|
raw
|
||||||
: [drapeau]({{< relref "/responses/simple.md" >}}) ou [tableau de drapeaux]({{< relref "/responses/vector.md" >}}) exact à trouver ;
|
: [drapeau]({{< relref "/responses/simple.md" >}}) ou [tableau de drapeaux]({{< relref "/responses/vector.md" >}}) exact à trouver ;
|
||||||
|
|
||||||
validator_regexp
|
capture_regexp
|
||||||
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
||||||
|
|
||||||
casesensitive
|
casesensitive
|
||||||
|
@ -67,7 +67,7 @@ Car il n'est pas possible d'avoir un hash qui valide à la fois `choux` et
|
|||||||
`pomme de terre`.
|
`pomme de terre`.
|
||||||
{{% /notice %}}
|
{{% /notice %}}
|
||||||
|
|
||||||
On utilise l'attribut `validator_regexp` pour établir une expression rationnelle
|
On utilise l'attribut `capture_regexp` pour établir une expression rationnelle
|
||||||
qui servira à sélectionner les parties significatives de la réponse.
|
qui servira à sélectionner les parties significatives de la réponse.
|
||||||
Par exemple :
|
Par exemple :
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ Par exemple :
|
|||||||
[[flag]]
|
[[flag]]
|
||||||
label = "Heure de l'exfiltration"
|
label = "Heure de l'exfiltration"
|
||||||
raw = '11:22:33+02:00'
|
raw = '11:22:33+02:00'
|
||||||
validator_regexp = "([0-9]{1,2}):([0-9]{1,2}):[0-9]{1,2}"
|
capture_regexp = "([0-9]{1,2}):([0-9]{1,2}):[0-9]{1,2}"
|
||||||
```
|
```
|
||||||
|
|
||||||
Ici, nous demandons l'heure de l'exfiltration, mais plusieurs journaux
|
Ici, nous demandons l'heure de l'exfiltration, mais plusieurs journaux
|
||||||
@ -88,7 +88,7 @@ pour qu'il fasse l'effort de trouver la bonne valeur selon lui (il pourrait
|
|||||||
une valeur approximative).
|
une valeur approximative).
|
||||||
|
|
||||||
On garde toujours dans le `raw` la valeur complète attendue, telle que l'on
|
On garde toujours dans le `raw` la valeur complète attendue, telle que l'on
|
||||||
peut la recopier. Et l'on indique une `validator_regexp` qui sélectionnera la
|
peut la recopier. Et l'on indique une `capture_regexp` qui sélectionnera la
|
||||||
ou les valeurs significatives, à la fois dans le `raw` et dans les réponses des
|
ou les valeurs significatives, à la fois dans le `raw` et dans les réponses des
|
||||||
participants.
|
participants.
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ de rester vague, en utilisant les caractères joker. Par exemple :
|
|||||||
[[flag]]
|
[[flag]]
|
||||||
label = "Commande utilisée pour l'exfiltration"
|
label = "Commande utilisée pour l'exfiltration"
|
||||||
raw = 'apt-get search yolo'
|
raw = 'apt-get search yolo'
|
||||||
validator_regexp = "^(?:sudo *)?(.*)$"
|
capture_regexp = "^(?:sudo *)?(.*)$"
|
||||||
```
|
```
|
||||||
|
|
||||||
Dans cet exemple `sudo` est facultatif, plutôt que de sélectionner `(apt-get
|
Dans cet exemple `sudo` est facultatif, plutôt que de sélectionner `(apt-get
|
||||||
@ -124,7 +124,7 @@ label
|
|||||||
raw
|
raw
|
||||||
: drapeau exact à trouver ; sous [forme de tableau]({{< relref "/responses/vector.md" >}}), le participant n'aura pas connaissaance du nombre d'éléments ;
|
: drapeau exact à trouver ; sous [forme de tableau]({{< relref "/responses/vector.md" >}}), le participant n'aura pas connaissaance du nombre d'éléments ;
|
||||||
|
|
||||||
validator_regexp
|
capture_regexp
|
||||||
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
||||||
|
|
||||||
sort\_validator\_regexp\_groups
|
sort\_validator\_regexp\_groups
|
||||||
|
@ -24,7 +24,7 @@ raw
|
|||||||
choices_cost
|
choices_cost
|
||||||
: (facultatif, par défaut 0) coût pour afficher les choix : avant l'affichage, se comporte comme un `flag` classique (si `choices_cost` = 0, les choix sont affichés directement) ;
|
: (facultatif, par défaut 0) coût pour afficher les choix : avant l'affichage, se comporte comme un `flag` classique (si `choices_cost` = 0, les choix sont affichés directement) ;
|
||||||
|
|
||||||
validator_regexp
|
capture_regexp
|
||||||
: (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
: (facultatif) expression rationnelle dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ;
|
||||||
|
|
||||||
ordered
|
ordered
|
||||||
@ -58,7 +58,7 @@ value
|
|||||||
[[flag]]
|
[[flag]]
|
||||||
type = "ucq"
|
type = "ucq"
|
||||||
label = "Type de malware"
|
label = "Type de malware"
|
||||||
validator_regexp = "^.*(dropper).*$"
|
capture_regexp = "^.*(dropper).*$"
|
||||||
raw = "Il installe quelque chose à son tour ! Il s'agit d'un dropper."
|
raw = "Il installe quelque chose à son tour ! Il s'agit d'un dropper."
|
||||||
choices_cost = 25
|
choices_cost = 25
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ label
|
|||||||
raw
|
raw
|
||||||
: tableau TOML de drapeaux exacts à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments ;
|
: tableau TOML de drapeaux exacts à trouver ; sous forme de tableau, le participant n'aura pas connaissaance du nombre d'éléments ;
|
||||||
|
|
||||||
validator_regexp
|
capture_regexp
|
||||||
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; Attention, la regexp est appliquée seulement sur la représentation de la chaîne de caractères obtenue, pas sur chaque élément.
|
: (facultatif) [expression rationnelle]({{< relref "/responses/simple.md#flag-modulable" >}}) dont les groupes capturés serviront comme chaîne à valider (notez que `?:` au début d'un groupe ne le capturera pas) ; Attention, la regexp est appliquée seulement sur la représentation de la chaîne de caractères obtenue, pas sur chaque élément.
|
||||||
|
|
||||||
showlines
|
showlines
|
||||||
|
Loading…
Reference in New Issue
Block a user