[Tutor] Regular expression - I

Steve Willoughby steve at alchemy.com
Tue Feb 18 19:03:22 CET 2014


Because the regular expression <H*> means “match an angle-bracket character, zero or more H characters, followed by a close angle-bracket character” and your string does not match that pattern.

This is why it’s best to check that the match succeeded before going ahead to call group() on the result (since in this case there is no result).


On 18-Feb-2014, at 09:52, Santosh Kumar <rhce.san at gmail.com> wrote:

> 
> Hi All,
> 
> If you notice the below example, case I is working as expected.
> 
> Case I:
> In [41]: string = "<H*>test<H*>"
> 
> In [42]: re.match('<H\*>',string).group()
> Out[42]: '<H*>'
> 
> But why is the raw string 'r' not working as expected ?
> 
> Case II:
> 
> In [43]: re.match(r'<H*>',string).group()
> ---------------------------------------------------------------------------
> AttributeError                            Traceback (most recent call last)
> <ipython-input-43-d66b47f01f1c> in <module>()
> ----> 1 re.match(r'<H*>',string).group()
> 
> AttributeError: 'NoneType' object has no attribute 'group'
> 
> In [44]: re.match(r'<H*>',string)
> 
> 
> 
> Thanks,
> santosh
> 
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor



More information about the Tutor mailing list