Buscar..


Usando con la coincidencia de patrones para unir grupos capturados

La trivia de la biblioteca de coincidencia de patrones proporciona un sistema trivia.ppcre que permite trivia.ppcre grupos capturados mediante la coincidencia de patrones

(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")
  • Nota: la biblioteca Optima proporciona una facilidad similar en el sistema optima.ppcre

Encuadernación de grupos de registro con CL-PPCRE.

CL-PPCRE:REGISTER-GROUPS-BIND hará coincidir una cadena con una expresión regular, y si coincide, vinculará los grupos de registros en la expresión regular a las variables. Si la cadena no coincide, se devuelve NIL .

(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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow