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.


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.


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  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.