Oh, handy to know. Thanks. (I come from a mostly Perl background, where regular expressions are first-class objects and operations on/with them are baked in. The Java approach to regexp that Clojure builds on is a little odd to me. But then, Perl is more than a little odd to a lot of people...)
Randy On Tue, Dec 4, 2018 at 1:37 PM Justin Smith <[email protected]> wrote: > You don't need to use re-matcher in that example - the output of re-find > with the regex and the string is identical. If you are using the matcher to > collect a series of matches in one string, you can also uses re-seq which > returns a lazy-seq of the matches of your regex in the string. > > On Tue, Dec 4, 2018 at 12:37 PM Randy J. Ray <[email protected]> wrote: > >> Oh, that might be it. The newline at the end of the string might be what >> is throwing a wrench into things. Though, to be fair, when I used >> re-matches yesterday the newline wasn't an issue. >> >> Nonetheless, I can work with re-find/re-matcher for now. >> >> On Tue, Dec 4, 2018 at 11:28 AM Andy Fingerhut <[email protected]> >> wrote: >> >>> The doc string for re-matches says that it >>> uses java.util.regex.Matcher.matches(). The Java doc page for the class >>> java.util.regex.Matcher [1] says "The matches >>> <https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html#matches--> >>> method >>> attempts to match the entire input sequence against the pattern." >>> >>> The doc string for re-find says that it >>> uses java.util.regex.Matcher.find(). On [1] you can find the statement " >>> The find >>> <https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html#find--> >>> method >>> scans the input sequence looking for the next subsequence that matches the >>> pattern." >>> >>> I haven't dug into your regex and string in detail, but most likely what >>> is happening is that the regex matches part of the string, but it doesn't >>> match the _entire_ string. >>> >>> Andy >>> >>> [1] >>> https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html >>> >>> >>> >>> >>> On Tue, Dec 4, 2018 at 11:16 AM Randy J. Ray <[email protected]> >>> wrote: >>> >>>> I must be doing something wrong here, but I cannot figure this out. >>>> >>>> The following results in "nil" from re-matches: >>>> >>>> (re-matches #"\[((\d+)-(\d+)-(\d+) (\d\d):(\d\d))\] (.*)" "[1518-05-27 >>>> 00:42] falls asleep\n") >>>> >>>> This, however, properly matches the line and produces the >>>> backreferences: >>>> >>>> (re-find (re-matcher #"\[((\d+)-(\d+)-(\d+) (\d\d):(\d\d))\] (.*)" >>>> "[1518-05-27 00:42] falls asleep\n")) >>>> >>>> I've used re-matches many times, but this has me stumped. This is >>>> behaving this way on both 1.8.0 and 1.9.0. >>>> >>>> Randy >>>> -- >>>> Randy J. Ray - [email protected] - twitter.com/rjray >>>> Silicon Valley Scale Modelers: http://www.svsm.org >>>> Sunnyvale, CA >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to [email protected] >>>> Note that posts from new members are moderated - please be patient with >>>> your first post. >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> 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 [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to [email protected] >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> [email protected] >>> 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 [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> -- >> Randy J. Ray - [email protected] - twitter.com/rjray >> Silicon Valley Scale Modelers: http://www.svsm.org >> Sunnyvale, CA >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to [email protected] >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> [email protected] >> 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 [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to [email protected] > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > [email protected] > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Randy J. Ray - [email protected] - twitter.com/rjray Silicon Valley Scale Modelers: http://www.svsm.org Sunnyvale, CA -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
