특정 문자열 유형의 역함과 일치하는 정규식을 만들려고합니다 (예 : ".js"로 끝나지 않는 문자열).라켓 정규식 일치
문서에 따르면이 표현식은 #rx"(?!\\.js$)"
이어야하며 작동하지 않는 것으로 보입니다. 예상대로
(define (match-test regex) (map (lambda (text) (regexp-match? regex text)) '("foo.js" "bar.css" "baz.html" "mumble.gif" "foobar")))
(match-test #rx"\\.js$")
반환 (#t #f #f #f #f)
하지만 (match-test #rx"(?!\\.js$)")
반환 내가 (#f #t #t #t #t)
을 기대 (#t #t #t #t #t)
: 그것을 테스트하기 위해,이 기능을 가지고있다.
무엇이 잘못 되었습니까? 실제로 "[x]가 포함되지 않은 모든 것과 일치하는"아이디어를 표현하기 위해 Racket의 정규식을 얻으시겠습니까?
부록 : 충분한 담당자를 가지고 거기에 사람이 있다면, 당신은 "라켓"을 만들 수 있습니다 또는 "racket-을 체계 "꼬리표. 아직 계획이 없으며 PLT 계획 팀원들은 프로젝트 이름을 변경하려고합니다. – Inaimathi
당신을 위해 태그를 추가했습니다. –
네가 부정을 얻기 위해 (결과의이 함수를 매핑 할 수 없다) 특별한 이유가 있습니까? 아니면 이것이 더 이상 "왜 이것이 작동하지 않는지 이해하고 싶습니다"라는 질문입니까? – jakebman