common-lisp
정규 표현식
수색…
패턴 일치를 사용하여 캡처 된 그룹 바인딩
패턴 일치 라이브러리 퀴즈는 캡처 된 그룹을 패턴 일치를 통해 바인딩 할 수있는 시스템 trivia.ppcre
를 제공합니다
(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")
- 참고 : 라이브러리 Optima는 시스템에 유사한 기능을 제공합니다.
optima.ppcre
CL-PPCRE로 레지스터 그룹 바인드
CL-PPCRE:REGISTER-GROUPS-BIND
는 문자열을 정규 표현식과 비교하고 일치하는 경우 정규 표현식의 등록 그룹을 변수에 바인드합니다. 문자열이 일치하지 않으면 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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow