I've just found a strange re behavior:
import re re.sub("(?:ab|b|a)", "+", "cbacbabcabc") 'c++c++c+c' re.sub("(?:ab|b|a){2}", "+", "cbacbabcabc") 'c+c+c+c'
In the last case |-separated expressions seems don't tried from left to right. Is it bug or just me? -- Dmitry Vasiliev <dima at hlabs.spb.ru> http://hlabs.spb.ru
On Tue, 20 May 2008, Dmitry Vasiliev wrote:
I've just found a strange re behavior:
import re re.sub("(?:ab|b|a)", "+", "cbacbabcabc") 'c++c++c+c' re.sub("(?:ab|b|a){2}", "+", "cbacbabcabc") 'c+c+c+c'
In the last case |-separated expressions seems don't tried from left to right. Is it bug or just me?
What were you expecting, 'c+c+cabc'? The re engine should try everything possible for a match with the entire re, not just match the first thing it finds for each section. -- Cheers, Leif
* Dmitry Vasiliev wrote:
I've just found a strange re behavior:
import re re.sub("(?:ab|b|a)", "+", "cbacbabcabc")
'c++c++c+c'
re.sub("(?:ab|b|a){2}", "+", "cbacbabcabc")
'c+c+c+c'
In the last case |-separated expressions seems don't tried from left to right. Is it bug or just me?
Looks fine to me. (Although if I understand that correctly, the userlist would be more appropriate). nd -- "Das Verhalten von Gates hatte mir bewiesen, dass ich auf ihn und seine beiden Gefährten nicht zu zählen brauchte" -- Karl May, "Winnetou III" Im Westen was neues: http://pub.perlig.de/books.html#apache2
participants (3)
-
André Malo
-
Dmitry Vasiliev
-
Leif Walsh