common-lisp
Expressions régulières
Recherche…
Utilisation avec correspondance de motif pour lier des groupes capturés
Le trivia de bibliothèque de correspondance de modèle fournit un trivia.ppcre
système qui permet aux groupes capturés d'être liés à travers la correspondance de modèle
(trivia:match "John Doe"
((trivia.ppcre:ppcre "(.*)\\W+(.*)" first-name last-name)
(list :first-name first-name :last-name last-name)))
;; => (:FIRST-NAME "John" :LAST-NAME "Doe")
- Remarque: la bibliothèque Optima fournit une fonctionnalité similaire dans le système
optima.ppcre
Groupes de registres de liaison avec CL-PPCRE
CL-PPCRE:REGISTER-GROUPS-BIND
correspondre une chaîne à une expression régulière et, si elle correspond, lie les groupes de registres de l'expression rationnelle aux variables. Si la chaîne ne correspond pas, NIL
est renvoyé.
(defun parse-date-string (date-string)
(cl-ppcre:register-groups-bind
(year month day)
("(\\d{4})-(\\d{2})-(\\d{2})" date-string)
(list year month day)))
(parse-date-string "2016-07-23") ;=> ("2016" "07" "23")
(parse-date-string "foobar") ;=> NIL
(parse-date-string "2016-7-23") ;=> NIL
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow