python正規表示式如何擷取字串中間的內容

2021-03-07 12:54:31 字數 1824 閱讀 5489

1樓:花臂華盛頓

啟動ipython先導入re模組

這裡我用到了findall全域性匹配,分為兩部分,前面是正則,後面是要匹配的字串

得到乙個元祖

通過變數a 就能列印出想要的字串

在 python 中,我們可以使用內建的 re 模組來使用正規表示式,re 模組提供了不少有用的函式,用以匹配字串,比如:

re 模組的一般使用步驟如下:

使用 ***pile 函式將正規表示式的字串形式編譯為乙個 pattern 物件

通過 pattern 物件提供的一系列方法對文字進行匹配查詢,獲得匹配結果(乙個 match 物件)

最後使用 match 物件提供的屬性和方法獲得資訊,根據需要進行其他的操作

findall 方法的使用形式如下:

findall(string[, pos[, endpos]])

其中,string 是待匹配的字串,pos 和 endpos 是可選引數,指定字串的起始和終點位置,預設值分別是 0 和 len (字串長度)。

findall 以列表形式返回全部能匹配的子串,如果沒有匹配,則返回乙個空列表。

2樓:

是需要從字串中提取數

字嗎如圖所示:

正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。

python 自1.5版本起增加了re 模組,它提供 perl 風格的正規表示式模式。

re 模組使 python 語言擁有全部的正規表示式功能。

***pile 函式根據乙個模式字串和可選的標誌引數生成乙個正規表示式物件。該物件擁有一系列方法用於正規表示式匹配和替換。

re 模組也提供了與這些方法功能完全一致的函式,這些函式使用乙個模式字串做為它們的第乙個引數。

re.match函式

re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match()就返回none。

函式語法:

re.match(pattern, string, flags=0)

re.search方法

re.search 掃瞄整個字串並返回第乙個成功的匹配。

函式語法:

re.search(pattern, string, flags=0)

re.match與re.search的區別

re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。

3樓:自我西郊

import re

pattern = re.***pile("forum\/(\d*)\/topic\/(\d*)")

res = pattern.search('forum/135/topic/794150').groups()

print res[0],res[1]

4樓:夢裡尋你我他

\w*\/(\d+)\/\w*\/(\d+)

5樓:隨風飄揚

import re

string = "forum/135/topic/794150"

print(re.findall(r'forum/(\d+)/topic/(\d+)',string))

6樓:匿名使用者

re.findall("\d",a)

7樓:t仝在路上

用re.findall

Python正規表示式marematchrd

你的正則翻譯過來bai就是匹du配長度為乙個字元的數字,所zhi以dao是不對的,match是從頭開始 專,是結尾標示,屬如果匹配1個或以上字元使用 re.match r d 09 group 09 re.match r d 09 group 09 re.match r d 09 group 0 r...

python正規表示式問題,Python ,正規表示式問題

老夭來了 1 在這裡是什麼用途?表示什麼意思?2 d d 為什麼要加一個括號?是 的不分組版本,意思就是說外面括號不是用來做資料提取的,僅僅是為了做數量指定的,就是說有個多少括號中匹配的資料。比如 d d 就是迴圈匹配 d 這個正則格式的資料 如果解決了您的問題請採納!如果未解決請繼續追問 杜斯奎浦...

Python正規表示式反斜槓問題

與大多數程式設計bai語言相du同,正規表示式裡使用zhi 作為轉義字元,dao這就可能造成反內 斜槓困擾。假如你需要容匹配文字中的字元 那麼使用程式語言表示的正規表示式裡將需要4個反斜槓 前兩個和後兩個分別用於在程式語言裡轉義成反斜槓,轉換成兩個反斜槓後再在正規表示式裡轉義成乙個反斜槓。pytho...