2011/6/4 Rodolfo Carvalho <rhcarva...@gmail.com>: > Hello, > I'm curious about 2 design decisions made: > 1) Why do I have to escape things like "\d{2}" -> "\\d{2}"?
You can actually avoid escaping if you use here strings. See the example below. Source begins here: #lang racket (define the-text-to-be-searched #<<END This is an example of a "here string". In a here string no escaping is needed. This is a backslash \ with no escaping. This is a normal slash /. And here is another backslash \. An here string begins with #<< and is followed by user chosen stop word, which signals the end of the here string. Note that the regexp used to match a backslash is \\. Thus to search for all lines in this text containing a backslash, one write the regexp \\ using here syntax with just two backslashes. Within the normal string syntax a backslash must be escaped and since the escape char is \ one must write "\\\\" in order to get the same regular expression. END ) (define backslash-regexp #<<END \\ END ) (define lines (regexp-split (regexp "\n") the-text-to-be-searched)) ; The following three expressions evaluate to equivalent values. (filter (λ (s) (regexp-match (regexp backslash-regexp) s)) lines) (filter (λ (s) (regexp-match (regexp "\\\\") s)) lines) (filter (λ (s) (regexp-match #rx"\\\\" s)) lines) Source ends here. -- Jens Axel Søgaard _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users