pythonのreのいくつかのよく使うもの

1179 ワード

1.
import re
a='abdcdddasdsad'
m=re.match(r"s",a)
print m                    #None
m=re.search(r"s",a)
print m                     #<_sre.SRE_Match object at 0x2b9f0eea9cc8>

コードを見ればわかる
searchは脱文字列で検索され、matchは文字列全体に一致します.
 
2.
 
def get_data( url, page_index ):
    content = urllib2.urlopen( url % page_index ).read()
    for m  in re.finditer( r"·<a href=\"(.+?)\">.+?</a>", content ):
        try:
            loc = m.group( 1 ).strip().split( "?" )[0]
            loc = re.sub( r"d-(\d+?)-1-(\d+?)-(\d+?)\.htm", "s-\g<1>-0-\g<2>-\g<3>.htm", loc, flags = re.IGNORECASE )
            xml_content.append( template % {"loc":loc, "date":d.isoformat()} )
        except:
            pass
 
 
 
re.finditterは文字列全体のすべての一致を巡り、MatchObjectの反復器を返します.
re.subは文字列置換に使用され、g<数値>はいくつかのパラメータを表す