python正則re使用

2021-08-14 08:37:12 字數 2456 閱讀 1069

1、

import re

# 將正規表示式編譯成pattern物件

pattern = re.compile(r'hello',re.i)

# 使用pattern匹配文字,獲得匹配結果,無法匹配時將返回none

match = pattern.match('hello world!')

if match:

# 使用match獲得分組資訊

print match.group()

2、import re

m = 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(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.end(2):", m.end(2)

print "m.span(2):", m.span(2)

print r"m.expand(r'\2 \1\3'):", m.expand(r'\2 \1\3')

### output ###

# m.string: hello world!

# m.re: <_sre.sre_pattern object at 0x016e1a38>

# m.pos: 0

# m.endpos: 12

# m.lastindex: 3

# m.lastgroup: sign

# m.group(1,2): ('hello', 'world')

# m.groups(): ('hello', 'world', '!')

# m.groupdict():

# m.start(2): 6

# m.end(2): 11

# m.span(2): (6, 11)

# m.expand(r'\2 \1\3'): world hello!

3、# 使用search()查詢匹配的子串,不存在能匹配的子串時將返回none

# 這個例子中使用match()無法成功匹配

match = pattern.search('hello world!')

4、p = re.compile(r'\d+')

print p.split('one1two2three3four4')

### output ###

# ['one', 'two', 'three', 'four', '']

5、p = re.compile(r'\d+')

print p.findall('one1two2three3four4')

### output ###

# ['1', '2', '3', '4']

6、p = re.compile(r'\d+')

for m in p.finditer('one1two2three3four4'):

print m.group(),

### output ###

# 1 2 3 4

7、p = re.compile(r'(\w+) (\w+)')

s = 'i say, hello world!'

print p.sub(r'\2 \1', s)

def func(m):

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

print p.sub(func, s)

### output ###

# say i, world hello!

# i say, hello world!

8、返回 (sub(repl, string[, count]), 替換次數)

p = re.compile(r'(\w+) (\w+)')

s = 'i say, hello world!'

print p.subn(r'\2 \1', s)

def func(m):

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

print p.subn(func, s)

### output ###

# ('say i, world hello!', 2)

# ('i say, hello world!', 2)

python基礎 Re正則

正規表示式 regular expression,簡稱re 正規表示式是對字串操作的 種邏輯公式,就是 事先定義好的 些特定字元 及這些特定字元的組合,組成 個 規則字串 這個 規則字串 來表達對字串的 種過濾邏輯。字串的匹配查詢 re模組中的findall函式可以對指定的字串進行遍歷匹配,獲取字串...

python 正則re模組

1.正則各種字元表示的含義 預設匹配除 n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行 匹配字元開頭 匹配 號前的字元0次或多次,re.findall ab cabb3abcbbac 結果為 abb ab a 匹配前乙個字元1次或多次,re.findall ab ab ...

Python程式設計 re正則庫基本使用

之前的文章 python程式設計 re正則庫 字符集 w 匹配字母數字及下劃線 w 匹配非字母數字及下劃線 s 匹配任意空白字元,等價於 n t r f s 匹配任意非空字元 d 匹配任意數字,等價於 0 9 d 匹配任意非數字 a 匹配字串開始 z 匹配字串結束,如果是換行,只匹配到換行前的結束字...