Python進階_3.正則表達式(1)

#引入re包

import re

 

Python正則表達式有兩種編譯方式:

1)re.compile(pattern[, flags]),把正則表達式的模式和標識轉化成正則表達式對象

      compiled_pattern=re.compile(pattern) 

      result = compiled_pattern.match(string)

2)result = re.match(pattern, string)

 

1、search():在字符串中查找匹配正則表達式模式的位置,返回 MatchObject 的實例,如果沒有找到匹配的位置,則返回 None。
1)pattern = re.compile('pattern')
  pattern.search('string'[,pos,endpos])
2)re.search('pattern','string'[,pos,endpos])

 

2、match():判斷 pattern 是否在字符串開頭位置匹配
1)pattern = re.compile('pattern')
  pattern.match('string'[,pos,endpos])
2)re.search('pattern','string'[,pos,endpos])

match() 函數只在字符串的開始位置嘗試匹配正則表達式,也就是隻報告從位置 0 開始的匹配情況,
而 search() 函數是掃描整個字符串來查找匹配。如果想要搜索整個字符串來尋找匹配,應當用 search()。

 

3、split():此功能很常用,可以將字符串匹配正則表達式的部分割開並返回一個列表;對於一個找不到匹配的字符串而言,split 不會對其作出分割
1)pattern = re.compile('pattern')
  pattern.split('string'[, maxsplit=0, flags=0])
2)re.split('pattern', 'string'[, maxsplit=0, flags=0])

 

4、findall():在字符串中找到正則表達式所匹配的所有子串,並返回一個列表。
1)pattern = re.compile('pattern')
  pattern.findall('string'[, pos[, endpos]])

2)re.findall('pattern', 'string'[, pos[, endpos]])

 

5、finditer():和 findall 類似,在字符串中找到正則表達式所匹配的所有子串,並組成一個迭代器返回
1)pattern = re.compile('pattern')
  pattern.finditer('string'[, pos[, endpos]])
2)re.finditer('pattern', 'string'[, pos[, endpos]])

 

6、sub():在字符串 string 中找到匹配正則表達式 pattern 的所有子串,用另一個字符串 repl 進行替換。如果沒有找到匹配 pattern 的串,則返回未被修改的 string。Repl 既可以是字符串也可以是一個函數。
1)pattern = re.compile('pattern')
  pattern.sub(repl, string[, count=0])
2)re.sub(pattern, repl, string[, count, flags])

 

7、subn():該函數的功能和 sub() 相同,但它還返回新的字符串以及替換的次數。
1)pattern = re.compile('pattern')
  pattern.sub(repl, string[, count=0])
2)re.subn(pattern, repl, string[, count, flags])

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章