Нашел багу в регекспах. re.split(r"[^\\],", "a,b,c,d\,e,f") выдает совсем не то, что ожидается.
Это бага не в регекспах, а в питоне. Ну вобщем-то первотег — второтег! :D
я имел ввиду модуль регексп
а зачем экранировать символы в квадратных скобках? разве нужно?
да
а что, собственно, не так?
ну скажи, какой ты результат по выполнению ожидаешь?
['', '', '', 'd\\,', 'f']такой и получается
странно, я ожидал ['a', 'b', 'c', 'd\\,e', 'f']. Где я неправ?
у тебя в регексе две буквы, как с ним вообще такой результат может получиться?
Данный регэксп вернёт _два_ символа, первый из который — любой кроме бэкслеша, второй — запятая. А ты чего ожидал?
точно. "?" забыл
Кури доки по регэкспам на предмет ретроспективы.Нечего на зеркало пенять... нутыпонел:-)
rtfm приходит в это псто
Ок. А где прочитать маны, например, об этом?In [39]: re.split(r"[^\\],", r"a,b\,c,d")Out[39]: ['', 'b\\,', 'd']In [40]: re.split(r"([^\\]),", r"a,b\,c,d")Out[40]: ['', 'a', 'b\\,', 'c', 'd']
http://ru.wikipedia.org/wiki/%D0%A0%D0%B...
ну с расширенными регекспами я осилил, да. И про два символа я понял. А вот скобки меня смущают
Чем?
ну если я [^\\] завернул в скобки, то оно "a" нашло
Ты имеешь ввиду, что оно содержимое скобок сохранит?
а, вот оно что.
все, вы заставили меня почувствовать себя говном %)
Поищи в интернетах книжку Фридла, она в свободном доступе должна быть. Много нового для себя откроешь:-)
http://www.booksgid.com/programmer/4581-...
> 464 стр.мама
как всегда, в текстовом формате только на английском
В советской россии регэкспы находят ошибки в тебе!
:(
Это бага не в регекспах, а в питоне. Ну вобщем-то первотег — второтег! :D
я имел ввиду модуль регексп
а зачем экранировать символы в квадратных скобках? разве нужно?
да
а что, собственно, не так?
ну скажи, какой ты результат по выполнению ожидаешь?
['', '', '', 'd\\,', 'f']
такой и получается
странно, я ожидал ['a', 'b', 'c', 'd\\,e', 'f']. Где я неправ?
у тебя в регексе две буквы, как с ним вообще такой результат может получиться?
Данный регэксп вернёт _два_ символа, первый из который — любой кроме бэкслеша, второй — запятая. А ты чего ожидал?
точно. "?" забыл
Кури доки по регэкспам на предмет ретроспективы.
Нечего на зеркало пенять... нутыпонел:-)
rtfm приходит в это псто
Ок. А где прочитать маны, например, об этом?
In [39]: re.split(r"[^\\],", r"a,b\,c,d")
Out[39]: ['', 'b\\,', 'd']
In [40]: re.split(r"([^\\]),", r"a,b\,c,d")
Out[40]: ['', 'a', 'b\\,', 'c', 'd']
http://ru.wikipedia.org/wiki/%D0%A0%D0%B...
ну с расширенными регекспами я осилил, да. И про два символа я понял. А вот скобки меня смущают
Чем?
ну если я [^\\] завернул в скобки, то оно "a" нашло
Ты имеешь ввиду, что оно содержимое скобок сохранит?
а, вот оно что.
все, вы заставили меня почувствовать себя говном %)
Поищи в интернетах книжку Фридла, она в свободном доступе должна быть. Много нового для себя откроешь:-)
http://www.booksgid.com/programmer/4581-...
> 464 стр.
мама
как всегда, в текстовом формате только на английском
В советской россии регэкспы находят ошибки в тебе!
:(