python 正規表示式相關

2021-09-07 02:50:29 字數 1909 閱讀 5373

注意:python3.x 的print要有括號, python 2.x的不需要

放上學習時寫的例子:

import

rem = re.match(r'

(\w+) (\w+)(?p.*)

', '

hello world!')

print("

m.string:

", m.string)

print("

m.re:

", m.re)

print("

m.pos:

", m.pos)

print("

m.endpos:

", m.endpos)

print("

m.lastindex:

", m.lastindex)

print("

m.lastgroup:

", m.lastgroup)

print("

m.group():

", m.group())

print("

m.group(1,2):

", m.group(1,2))

print("

m.groups():

", m.groups())

print("

m.groupdict():

", m.groupdict())

print("

m.start(2):

", m.start(2))

print("

m.span(2):

", m.span(2))

print(r"

m.expand(r'\g \g\g'):

", m.expand(r'

\2 \1\3'))

#search 不一定從第0位開始匹配

pattern = re.compile(r'

world')

match = re.search(pattern, '

hello world!')

ifmatch:

print

(match.group()) #

split 已pattern分割字串

pattern = re.compile(r'

\d+'

)print(re.split(pattern, '

one1two2three33four4'))

#findall 以列表形式返回全部能匹配的子串

pattern = re.compile(r'

\d+'

)print(re.findall(pattern, '

one1two2three33four4'))

#finditer 返回乙個順序訪問每乙個匹配結果的迭代器

pattern = re.compile(r'

\d+'

)for m in re.finditer(pattern, '

one1two2three3four4'):

print

(m.group())#替換

pattern = re.compile(r'

(\w+) (\w+)')

s = '

i say, hello world!

'print(re.sub(pattern, r'

\2 \1

', s))

deffunc(m):

return m.group(1).title() + '

' + m.group(2).title()

print

(re.sub(pattern, func, s))

#subn 比替換多返回了乙個替換次數

print(re.subn(pattern, func, s))

正規表示式 相關

限定符 說明 指定零個或更多個匹配 例如 w 或 abc 等效於。指定乙個或多個匹配 例如 w 或 abc 等效於。指定零個或乙個匹配 例如 w?或 abc 等效於。指定恰好 n 個匹配 例如 pizza 指定至少 n 個匹配 例如 abc 指定至少n 個但不多於m 個匹配。指定盡可能少地使用重複的...

正規表示式相關

我們知道匹配字串通常用正規表示式,因為幾乎每種語言都有自己的正規表示式引擎,所以效率會比你自己寫演算法要高效的多。下面來看下一些常用的正規表示式運算子。注意 這裡主要是個人總結,所以都會以一些自己用到的東西為主,如果要看具體的api,請在網上查詢 基礎知識儲備 稍微注意下一些細節的地方,比如 和 的...

正規表示式相關

table 特殊符號 代表意義 alnum 代表英文大小寫字元及數字,亦即 0 9,a z,a z alpha 代表任何英文大小寫字元,亦即 a z,a z blank 代表空白鍵與 tab 按鍵兩者 cntrl 代表鍵盤上面的控制按鍵,亦即包括 cr,lf,tab,del.等等 digit 代表數...