Thanks Sam. That's a very elegant solution.
Could you possibly briefly elaborate on how the parentheses in the
regular expression make the destructuring work?
R./
Zack
On Fri, Jan 4, 2013 at 3:19 PM, Sam Tobin-Hochstadt wrote:
How about this:
(match "This is a 40.2 Song about Japan"
[(regexp #px"([\\D]*)([\\d]+\\.[\\d]+)([\\D]*)" (list _ x y z))
(list x y z)])
;; produces
'("This is a " "40.2" " Song about Japan")
The `_` is ignoring the first result of `regexp-match`, which is the
full match.
Sam
On Fri, Jan 4, 2013 at 2:50 PM, Galler <lzgal...@optonline.net> wrote:
Hello,
Is there a destructuring-bind for regular expressions?
Something along the lines of the purely fictional function
"with-destructuring-regex", below:
(with-destructuring-regex ([(list #px"[\\D]*" #px"[\\d]+\\.[\\d]+"
#px"[\\D]*") "This is a 40.2 Song about Japan" (x y z)])
(values x y z))
;->
;"This is a "
;"40.2"
;"Song about Japan"
This seems very much like something Danny would have implemented at
some
point in time.
If the answer is no, I'll just go ahead and code it and share
results, if
of interest.
Thanks much.
Zack
____________________
Racket Users list:
http://lists.racket-lang.org/users
____________________
Racket Users list:
http://lists.racket-lang.org/users