- Perl6と.NETにしかできない(俺知っている限り)グループのなかのサブグループのデータが取れる
>>> m = regex.search(r"(\w{3})+", "123456789")
>>> m.captures(1)
['123', '456', '789']
>>> m.starts(1)
[0, 3, 6]
>>> m.ends(1)
[3, 6, 9]
>>> m.spans(1)
[(0, 3), (3, 6), (6, 9)][[:alpha:]], [[:^alpha:]]
>>> m = regex.search(r"(?P.*?)(?P \d+)(?P .*)", "pqr123stu") >>> print m["before"] pqr >>> print m["num"] 123 >>> print m["after"] stu >>> print len(m) 4 >>> print m[:] ('pqr123stu', 'pqr', '123', 'stu')
>>> regex.findall(r"..", "abcde") ['ab', 'cd'] >>> regex.findall(r"(?r)..", "abcde") ['de', 'bc']
スピードも1割ぐらいは早くなったと思う。re2に勝てないけどね。
ただこういうKiller Featuresあるかぎりみんな使い続けるでしょう 。。。
詳しくは http://pypi.python.org/pypi/regex で