2
我試圖創建匹配某個字符串類型的逆的正則表達式(例如,字符串不以「.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$)")
回報(#t #t #t #t #t)
,在那裏我會想到(#f #t #t #t #t)
。
我在做什麼錯,我如何在Racket中實際得到一個正則表達式來表達「匹配任何不包含[x]」的想法?
附錄:如果有一個人在那裏誰擁有足夠的代表,你可能想創建一個「拍」或「racket-計劃「標籤。目前還沒有人,PLT計劃的人正試圖改變他們的項目名稱。 – Inaimathi 2010-05-22 17:02:35
我爲你添加了標籤。 – 2010-05-22 17:04:23
是否有任何特殊的原因,你不能只是(映射不是這個函數的結果)來得到否定?或者這更多的是「我想明白爲什麼這不起作用」的問題? – jakebman 2010-05-22 19:59:42