common-lisp
Expresiones regulares
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