En utilisant cl-ppcre, je veux découvrir le nombre de groupes de registres dans une regex, sans effectuer aucune correspondance. Est-ce possible et comment?Dans cl-ppcre, comment puis-je connaître le nombre de groupes de registres dans une regex?
3
A
Répondre
5
Si vous avez l'expression régulière sous forme de chaîne, vous pouvez utiliser cl-ppcre:parse-string
pour le convertir en un sexp que vous pouvez examiner pour les occurrences de :REGISTER
, par ex.
(count :register (alexandria:flatten (ppcre:parse-string "^\\d (\\S+|(x|y))")))
Si elle a déjà été créé avec create-scanner
, je ne pense pas que vous avez beaucoup d'options; cet objet est une fermeture opaque.