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...