Re: Comparing Regular Expression pattens for equality?

2014-02-27 Thread Thomas
Thanks guys,

Shame that it doesn't work that way. I've worked around it as suggested 
below.

Thomas

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Comparing Regular Expression pattens for equality?

2014-02-26 Thread Thomas
Hi Everyone,

I am creating some regular expressions programmatically with re-pattern. In 
order to avoid creating the same regex pattern again I want to check if it 
already exists. But comparing regex pattern doesn't seem to be work:

user= (= #test #test)
false
user= (identical? #test #test)
false

Not surprised that identical? doesn't work to be honest, but = should 
have worked IMHO

Is there a way to do this?

TIA

Thomas

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Comparing Regular Expression pattens for equality?

2014-02-26 Thread Michael Gardner
You can compare the output of the .pattern or .toString methods if all you care 
about is finding regexes made from the exact same patterns. There's no simple 
way to detect equivalent regexes made from different patterns, though.

As for why = doesn't do this, you'd have to talk to the Java folks about that 
(since Clojure's = just calls .equals on Java objects). I suspect it has to do 
with the problem of equivalent patterns.

On Feb 26, 2014, at 05:55 , Thomas th.vanderv...@gmail.com wrote:

 Hi Everyone,
 
 I am creating some regular expressions programmatically with re-pattern. In 
 order to avoid creating the same regex pattern again I want to check if it 
 already exists. But comparing regex pattern doesn't seem to be work:
 
 user= (= #test #test)
 false
 user= (identical? #test #test)
 false
 
 Not surprised that identical? doesn't work to be honest, but = should have 
 worked IMHO
 
 Is there a way to do this?
 
 TIA
 
 Thomas
 
 -- 
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with your 
 first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 --- 
 You received this message because you are subscribed to the Google Groups 
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Comparing Regular Expression pattens for equality?

2014-02-26 Thread Jan Herich
Clojure re-uses java.util.regex.Pattern objects. This object doesn't 
override equals method, 
so object references are always compared. But you can easily get pattern 
string from compiled
pattern and then compare just them: 

user= (= (.pattern #test) (.pattern #test))
true

Dňa streda, 26. februára 2014 12:55:17 UTC+1 Thomas napísal(-a):

 Hi Everyone,

 I am creating some regular expressions programmatically with re-pattern. 
 In order to avoid creating the same regex pattern again I want to check if 
 it already exists. But comparing regex pattern doesn't seem to be work:

 user= (= #test #test)
 false
 user= (identical? #test #test)
 false

 Not surprised that identical? doesn't work to be honest, but = should 
 have worked IMHO

 Is there a way to do this?

 TIA

 Thomas


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.