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