diff --git a/collects/mzlib/string.ss b/collects/mzlib/string.ss index 1b2f1cfe23..8b06a1a659 100644 --- a/collects/mzlib/string.ss +++ b/collects/mzlib/string.ss @@ -447,7 +447,7 @@ (if simple? simple-item:s item:s) #\* ".*" "."))] [(pfx sfx) (if case-sens? - (if b? (values #"^" #"^") + (if b? (values #"^" #"$") (values "^" "$")) (if b? (values #"^(?i:" #")$") (values "^(?i:" ")$")))] diff --git a/collects/tests/mzscheme/string.ss b/collects/tests/mzscheme/string.ss index 6856b7125d..e26c578cda 100644 --- a/collects/tests/mzscheme/string.ss +++ b/collects/tests/mzscheme/string.ss @@ -125,6 +125,9 @@ (car xs) (begin (test res regexp-match? re (car xs)) res))))))))]) + ((g->re-test #"foo*bar" #t #t) + #t #"foobar" #"foo-bar" #"foo--bar" + #f #"fobar" #"foo-barr" #"ffoo-bar" #".foobar") ((g->re-test "foo*bar" #t #t) #t "foobar" "foo-bar" "foo--bar" #f "fobar" "foo-barr" "ffoo-bar" ".foobar")