Question regarding re module

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Tomohiro Kusumi

    Question regarding re module

    Hi,

    I have a question regarding re module.
    # By the way I'm not in this list, so I'm sorry but please CC me.

    I tried following code in Python shell using a regular expression.
    Why doesn't the result of dir(reg) have 'pattern', 'flags', and
    'groupindex' although they exist as members of _sre.SRE_Patter n
    instance ?

    It sort of irritates me, because whenever I write Python code
    using a module which I'm not used to using, I often try Python
    shell with TAB complete to find out the member of module/instance.

    Tomohiro Kusumi

    -------------------------------------------------
    Python 2.5 (r25:51908, May 16 2008, 13:41:55)
    [GCC 4.1.2 20070626 (Red Hat 4.1.2-14)] on linux2
    Type "help", "copyright" , "credits" or "license" for more information.
    >>import re
    >>reg = re.compile(r"[0-9]+")
    >>reg.pattern
    '[0-9]+'
    >>reg.flags
    0
    >>reg.groupinde x
    {}
    >>dir(reg)
    ['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner',
    'search', 'split', 'sub', 'subn']
    >>reg.<TAB>
    reg.__copy__ reg.finditer reg.search reg.subn
    reg.__deepcopy_ _ reg.match reg.split
    reg.findall reg.scanner reg.sub

  • Diez B. Roggisch

    #2
    Re: Question regarding re module

    Tomohiro Kusumi schrieb:
    Hi,
    >
    I have a question regarding re module.
    # By the way I'm not in this list, so I'm sorry but please CC me.
    >
    I tried following code in Python shell using a regular expression.
    Why doesn't the result of dir(reg) have 'pattern', 'flags', and
    'groupindex' although they exist as members of _sre.SRE_Patter n
    instance ?
    >
    It sort of irritates me, because whenever I write Python code
    using a module which I'm not used to using, I often try Python
    shell with TAB complete to find out the member of module/instance.
    >
    It could be that the result overloads the __getattr__-method to delegate
    calls to some object. Thus it's not part of the outer instance.

    Diez

    Comment

    Working...