> On Sun, Feb 1, 2009 at 12:06 PM, Jörg F. Wittenberger >> But worst regex.scm: >> (define (string-match-positions rx str)
That performs an anchored match against the beginning and end of the entire string. If you want to provide a range to search in, use: (string-search-positions rx str #!optional (start 0) (range (string-length str))) You can anchor to the beginning of the offset. For example: #;18> (string-search "^cd" "abcdefg" 2) ("cd") #;19> (string-search "^cd" "abcdefg" 1) #f #;20> (string-search "^[a-z]+" "abcdefg" 1 3) ("bcd") It doesn't work to anchor to the end of the range, though: #;21> (string-search "^[a-z]+$" "abcdefg" 1 3) #f Not sure if that is a bug. Note that in the past, a string-search anchored to the start position didn't work, and string-match with an offset often returned garbage: #;23> (string-search "^[a-z]+" "abcdefg" 1 3) #f #;21> (string-match "." "abcdefg" 1) ("g") ; what? #;14> (string-match "bc" "abcdefg" 1) #f That was tested with 3.3.10--it might not have been fixed until the irregex merge. So, I am not sure you saw reasonable behavior in the past anyway. Jim _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users