Python Regex sub

來源:互聯網
上載者:User

sub(repl, string[, count]) | re.sub(pattern, repl, string[, count]): 
使用repl替換string中每一個匹配的子串後返回替換後的字串。 
當repl是一個字串時,可以使用\id或\g<id>、\g<name>引用分組,但不能使用編號0。 
當repl是一個方法時,這個方法應當只接受一個參數(Match對象),並返回一個字串用於替換(返回的字串中不能再引用分組)。 
count用於指定最多替換次數,不指定時全部替換。 

p = re.compile(r'(\w+) (\w+)')

s = 'i say, hello world!'

print p.sub(r'\2 \1', s)

# say i,world hello!

def func(m):

    return m.group(1).title() + '    ' + m.group(2).title()

print p.sub(func, s)

# I    Say,Hello    World

這裡的group是相對於每一個匹配結果而言的,即\1 表示 i 和 hello, 而\2則表示 say 和 world

sub函數的作用是將匹配的結果替換為 sub 函數的第一個參數指定的格式,所以,逗號和驚嘆號還是會保留

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.