python正則表達式(6)--split、sub、escape方法

1.re.split

語法:python

  re.split(pattern, string[, maxsplit=0, flags=0])正則表達式

參數:函數

  pattern    匹配的正則表達式spa

  string      要匹配的字符串。對象

      maxsplit  分隔次數,maxsplit=1 分隔一次,默認爲 0,不限制次數。字符串

 

>>>import restring

>>> re.split('\W+', 'runoob, runoob, runoob.')it

['runoob', 'runoob', 'runoob', '']class

 

(1)以分組爲分割符的時候,分組內容也會被保存下來

>>> re.split('(\W+)', ' runoob, runoob, runoob.')import

['', ' ', 'runoob', ', ', 'runoob', ', ', 'runoob', '.', '']

>>> re.split('\W+', ' runoob, runoob, runoob.', 1)

['', 'runoob, runoob, runoob.']

(2)可同時使用多個分隔符,分隔符,和.都會被切割

>>> re.split('[,\.]',r'hello,Tom.how are you')

['hello', 'Tom', 'how are you']

(3)對於一個找不到匹配的字符串而言,split 不會對其做出分割

>>> re.split('a*', 'hello world')

['hello world']

 

2.sub方法

語法:

  re.sub(pattern, repl, string, count=0, flags=0)

  pattern.sub(repl, string[, count = 0])

參數:

  • pattern : 正則中的模式字符串。
  • repl : 替換的字符串,也可爲一個函數。
  • string : 要被查找替換的原始字符串。
  • count : 模式匹配後替換的最大次數,默認 0 表示替換全部的匹配。

1) 當repl是一個字符串

能夠使用\id或\g<id>、\g<name>引用分組,但不能使用編號0。

2) 當repl是一個方法

它必須傳一個Match對象,並必須返回一個字符串用於替換(返回的字符串中不能再引用分組)。

 

(2)subn方法

這個函數跟sub函數用法差很少,只是它有一個額外的特徵,結果是返回一個tuple,tuple第 一個元素是替換後的新字符串,第二個元素是替換的次數

import re

def add(m):

v = int(m.group(0))

return str(v + 1)

p = re.compile("(\d+)")

result = p.subn(add, "1 2 3 4 5")

print result

>>>('2 3 4 5 6', 5)

 

3.re.escape方法

能夠將字符串中全部可能被解釋爲正則運算符的字符進行轉譯。

>>> re.escape('www.python.org')

'www\\.python\\.org'

相關文章
相關標籤/搜索