使用 re 模組有兩種方式:
使用 re.compile 函式生成乙個 pattern 物件,然後使用 pattern 物件的一系列方法對文字進行匹配查詢;
直接使用 re.match, re.search 和 re.findall 等函式直接對文字匹配查詢;
下面,我們用乙個例子展示這兩種方法。
先看第 1 種用法:
python
import re # 將正規表示式先編譯成 pattern 物件 pattern = re.compile(r'\d+') print pattern.match('123, 123') print pattern.search('234, 234') print pattern.findall('345, 345')
12
3
4
5
6
import
re# 將正規表示式先編譯成 pattern 物件
pattern=re
.compile(r
'\d+'
pattern
.match
('123, 123'
pattern
.search
('234, 234'
pattern
.findall
('345, 345'
)再看第 2 種用法:
python
import re print re.match(r'\d+', '123, 123') print re.search(r'\d+', '234, 234') print re.findall(r'\d+', '345, 345')
12
3
4
import
reprintre.
match(r
'\d+'
,'123, 123'
)printre.
search(r
'\d+'
,'234, 234'
)printre.
findall(r
'\d+'
,'345, 345'
)如果乙個正規表示式需要用到多次(比如上面的 \d+),在多種場合經常需要被用到,出於效率的考慮,我們應該預先編譯該正規表示式,生成乙個 pattern 物件,再使用該物件的一系列方法對需要匹配的檔案進行匹配;而如果直接使用 re.match, re.search 等函式,每次傳入乙個正規表示式,它都會被編譯一次,效率就會大打折扣。
因此,我們推薦使用第 1 種用法。
5868037 qq號
[email protected] qq郵箱
Python3 paramiko的兩種執行命令方式
exec command使用的是ssh exec channel的方式執行,不具備持久化的能力,也就是每次執行都是一次全新的環境,不是說你先切換到root,下一條命令執行就是以root執行了,說簡單點就是把命令當作引數傳送出去,如 ssh user host 命令適合場景 不想使用終端 不執行諸如分...
串的兩種模式匹配演算法
靜時亦覺意思好,才遇事便不同,如何?是徒知靜養而不用克己工夫也。如此,臨事便要傾倒。人須在事上磨,方立得住,方能 靜亦定,動亦定。此時正宜用功。若此時放過,閒時講學何用?人正要在此等時磨鍊。子串的定位操作 串的模式匹配 挨個遍歷,例如在asdfghjkl中尋找dfg,需要將dfg與asdfghjkl...
括號匹配(兩種演算法的完成)
題目描述 pipi給你乙個合法的括號序列,希望跟你按左括號下標遞增順序給出每對括號在序列中的下標。下標從1開始 輸入多組資料 第一行包括乙個只包含 的字串,保證輸入的括號匹配序列合法,長度不超過100000 輸出按左括號下標遞增順序給出每對括號在序列中的下標。樣例輸入 copy 樣例輸出 copy ...