1. 程式人生 > 程式設計 >python3 re返回形式總結

python3 re返回形式總結

我們在進行程式操作的時候,因為各種原因,需要通過不同的形式返回到之前的物件。不知道小夥伴們會幾種返回的函式方法呢?今天要介紹的是findall和finditer這一對小夥伴,它們在輸出的形式上有所不同。在這裡小編先賣一個關子,想要知道答案的小夥伴,我們接著往下看。

findall(pattern,string,flags=0)

在字串string中匹配所有符合正則表示式pattern的物件,並把這些物件通過列表list的形式返回。

import re
pattern = re.compile(r'\W+')
result1 = pattern.findall('hello world!')
result2 = pattern.findall('hello world!',7)
print(result1) #[' ','!']
print(result2) #[' ']

finditer(pattern,flags=0)

在字串string中匹配所有符合正則表示式pattern的物件,並把這些物件通過迭代器的形式返回。

import re
pattern = re.compile(r'\W+')
result = pattern.finditer('hello world!')
for r in result:
  print(r)
# <re.Match object; span=(5,6),match=' '>
# <re.Match object; span=(11,12),match='!'>

Python3 Re常用方法

常用的功能函式包括:compile、search、match、split、findall(finditer)、sub(subn)

1.compile

  • re.compile(pattern[,flags])

作用:把正則表示式語法轉化成正則表示式物件

flags定義包括:

  • re.I:忽略大小寫
  • re.L:表示特殊字符集 \w,\W,\b,\B,\s,\S 依賴於當前環境
  • re.M:多行模式
  • re.S:' . '並且包括換行符在內的任意字元(注意:' . '不包括換行符)
  • re.U: 表示特殊字符集 \w,\d,\D,\S 依賴於 Unicode 字元屬性資料庫

2.search

  • re.search(pattern,string[,flags])

作用:在字串中查詢匹配正則表示式模式的位置,返回 MatchObject 的例項,如果沒有找到匹配的位置,則返回 None。

3.match

  • re.match(pattern,flags])
  • match(string[,pos[,endpos]])

作用:match() 函式只在字串的開始位置嘗試匹配正則表示式,也就是隻報告從位置 0 開始的匹配情況,

而 search() 函式是掃描整個字串來查詢匹配。如果想要搜尋整個字串來尋找匹配,應當用 search()。

到此這篇關於python3 re返回形式總結的文章就介紹到這了,更多相關python3 re有哪些返回形式內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!