Articles in the Python category

  1. [翻译]使用Python的魔术方法创造更好的正则API

    原文在此

    我的一个同事说他怀念Ruby的正则表达式语法糖。我没有用过Ruby的正则表达式,但是我熟悉Python的,并且知道它的API需要一些语法糖来弥补一下。

    首先,从正则表达式中获取分组需要2步。第一步,调用match()或者search(),并且将结果付值给一个变量。然后,需要检察结果是否为None(表示是否有找到匹配)。最后,如果匹配确实存在,你可以安全地取出分组。下面是一个例子:

    >>> import re
    >>> match_obj = re.match('([0-9]+)', '123foo')
    >>> match_obj  # What is `match_obj`?
    <_sre.SRE_Match object at 0x7fd1bb000828>
    >>> match_obj.groups()('123',)
    >>> match_obj = re.match('([0-9]+)', 'abc')
    >>> match_objNone
    

    依我来看,如果能像下面这样就更好了:

    >>> re.get_matches('([0-9]+)', '123foo ...
    Tagged as : python

Page 2 / 2