Règles
Dans ce défi, je vais redéfinir un peu la définition de "guillemets".
Les guillemets (AKA quotes ) sont des caractères identiques utilisés par paires dans divers systèmes d'écriture pour déclencher la parole directe, une citation ou une phrase. La paire se compose d'un guillemet d'ouverture et d'un guillemet de fermeture, qui est le même caractère (sensible à la casse).
S'il y a des paires de devis qui se chevauchent,
- Si une paire en imbrique une autre, les deux paires sont toujours valides.
- Si une paire n'en imbrique pas une autre, la première paire de départ reste valide. L'autre n'est plus considéré comme une paire.
Lors du comptage des caractères entre guillemets (longueur d'une paire de guillemets),
- Les citations elles-mêmes ne comptent pas.
- La longueur de chaque paire est comptée indépendamment. Le chevauchement n'en affecte pas un autre.
Objectif
Votre objectif est d'imprimer la longueur totale de tous les devis valides. C'est le code golf, donc le code avec le moins d'octets gagne.
Exemples
Legend:
<foo>: Valid quotes
^ : Cannot be paired character
Input : ABCDDCBA
`A` (6): <BCDDCB>
`B` (4): <CDDC>
`C` (2): <DD>
`D` (0): <>
Output : 12
Input : ABCDABCD
`A` (3): <BCD>
`B` (0): ^ ^
`C` (0): ^ ^
`D` (0): ^ ^
Output : 3
Input : AABBBBAAAABA
`A` (0): <> <><> ^
`B` (0): <><> ^
Output : 0
Input : ABCDE
Output : 0
Input : Print the total length of all "quoted" characters
`r` (40): <int the total length of all "quoted" cha>
`n` (14): <t the total le>
`t` (15): < > <o> <h of all "quo>
` ` (7): ^ <total> <of> ^ ^
`h` (0): ^ ^ ^
`e` (8): < total l> ^ ^
`o` (0): ^ ^ ^
`a` (0): ^ ^ ^ ^
`l` (0): ^ ^ <>
`"` (0): ^ ^
`c` (0): ^ ^
Output : 84
Input : Peter Piper picked a peck of pickled peppers
`P` (5): <eter >
`e` (9): <t> ^ <d a p> <d p> ^
`r` (0): ^ ^
` ` (3): ^ ^ <a> <of> ^
`i` (5): <per p>
`p` (3): <er > ^ ^ ^ <>
`c` (8): <ked a pe> ^
`k` (7): ^ < of pic>
`d` (0): ^ ^
Output : 40
Input : https://www.youtube.com/watch?v=dQw4w9WgXcQ
`h` (27): <ttps://www.youtube.com/watc>
`t` (0): <> ^ ^
`/` (0): <> ^
`w` (14): <><.youtube.com/> <4>
`.` (7): <youtube>
`o` (0): ^ ^
`u` (1): <t>
`c` (0): ^ ^ ^
`Q` (8): <w4w9WgXc>
Output : 57