common-lisp
Vanliga uttryck
Sök…
Använd med mönster matchning för att binda fångade grupper
Mönstermatchning bibliotek trivia ger ett system trivia.ppcre
som gör att fångade grupper kan bindas genom mönster matchning
(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")
- Obs: biblioteket Optima erbjuder en liknande anläggning i systemet
optima.ppcre
Bindande registergrupper med CL-PPCRE
CL-PPCRE:REGISTER-GROUPS-BIND
matchar en sträng mot ett regelbundet uttryck, och om det matchar, binda registergrupper i regex till variabler. Om strängen inte matchar, returneras 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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow