Hi Noldus,
What Hans says. The regex engine usually stops at the first match, so you have to be careful, because you'll get what you asked for. General questions about regular expressions are best answered by one of the numerous online articles or for example by the good O'Reilly book. I might also shamelessly recommend my "Regex Coach" application.
As for the other question: You should enter the regex string into your Lisp listener and see what you'll get back. This has something to do with how CL treats backslashes in strings - there's also a section about this in the CL-PPCRE documentation.
Cheers, Edi.
On Tue, Nov 29, 2011 at 4:51 PM, Noldus Reijnders n_reijnders@hotmail.com wrote:
Hey again!
I came across something of which I don't understand why it happens.. When I do this:
(scan "[a-z]*" "<test>")
I get: 0 0 #() #()
while I expect: 1 4 ... ... (I don't get the registers.. Although it isn't necessary for me right now, could you maybe explain this as well if you have the time? I think it has something to do with back referencing, but I'm not sure.)
Also, when I do this:
(scan "[\xD8-\xF6]*" "<test>") 0 6 #() #()
while I expect to get nil.
It seems as if the scanner doesn't do anything if the first character is part of the regex in the first example (because if I add a angular bracket to the front it does find it) and in the second it matches everything while the hexcode range is far outside the strings range so it shouldn't find anything. Am I doing something wrong?
Greatings, Noldus
cl-ppcre-devel site list cl-ppcre-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cl-ppcre-devel