Re模組的方法補充

2022-08-11 18:27:15 字數 3445 閱讀 4243

id_str = input("

輸入乙個身份證號:")

import

reobj

= re.compile(r"

^([1-9]\d[0-9x]|[1-9]\d)$

") #

將正規表示式編譯成為乙個 正規表示式物件

ret =obj.match(id_str)

ifret:

print("

輸入的身份證合法

", ret.group())

else

:

print("

輸入不合法

")

import

reret = '

eva3egon4yuan4

'.replace('

4', 'h'

)print(ret) #

eva3egonhyuanh

ret = re.sub(r'

\d', '

h', '

eva3egon4yuan4

') #

將數字替換成'h',全部替換

print(ret) #

evahegonhyuanh

ret = re.sub(r'

\d', '

h', '

eva3egon4yuan4

', 1) #

將數字替換成'h',引數1 表示只替換1個

print(ret) #

evahegon4yuan4

ret = re.subn(r'

\d', '

h', '

eva3egon4yuan4

') #

將數字替換成'h',返回元組(替換的結果,替換了多少次)

print(ret) #('evahegonhyuanh', 3)

ret = re.findall(r"

[\d|\.]+

", "

2020-10-10 11:12:40.237")

print(ret) #

['2020', '10', '10', '11', '12', '40.237']

ret = re.sub(r'

\.\d+

', '', "

40.23723")

print(ret) #

40

import

res = "

abc hello bye

"obj = re.compile(r'

\s+') #

任意多個空格

s1 = re.sub(obj, '', s) #

將符合規則的字串 替換為空字元''

print(s1)

import

reret = re.split(r"

\d+", "

eva3egon4yuan")

print(ret) #

結果 : ['eva', 'egon', 'yuan']

ret = re.split(r"

(\d+)

", "

eva3egon4yuan")

print(ret) #

結果 : ['eva', '3', 'egon', '4', 'yuan']

ret = re.split('

[ab]

', '

abcd

') #

先按'a'分割得到''和'bcd',再對''和'bcd'分別按'b'分割

print(ret) #

['', '', 'cd']

import

re# ()是分組 ?:是取消了分組的優先

許可權

ret = re.findall(r'

# findall會優先把匹配結果組()裡的內容返回

ret = re.findall(r'

ret = re.finditer(r'\d', 'ds3sy4784a') # finditer返回乙個存放匹配結果的迭代器

print(ret) # callable_iterator object 可被呼叫執行的迭代器物件

# 迭代器的三種取值方法 方法1 next()

取到末尾再取則報錯

print(next(ret).group()) #檢視第乙個結果

print(next(ret).group()) #檢視第二個結果

print(next(ret).group()) #檢視第三個結果

# 迭代器的三種取值方法 方法2 for迴圈取值

print([i.group() for i in ret]) # 已經被取值取走三個結果 只能檢視剩餘結果

34

7['8', '4']

importre

ret = re.finditer(r'\d', 'ds3sy4784a') # finditer返回乙個存放匹配結果的迭代器

print(ret) # callable_iterator object 可被呼叫執行的迭代器物件

# 迭代器的三種取值方法 方法3 強制型別轉換 list()

for el inlist(ret):

print(el.group())

re模組的方法

一.re.match re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handsome boy,he is cool,clever,and so on.m re.match r w s text if m print ...

re模組常用方法

match string pos endpos string是待匹配的字串pos和endpos可選引數,指定字串的起始和終點位置,預設值分別是0和len 字串長度 match 方法 從起始位置開始查詢,一次匹配 re.match pattern,string,flags 0 result re.ma...

re模組及其方法

re模組 import re 正規表示式本身具有處理字串的能力 如果要處理的字串存在python的記憶體裡,模組 操作正規表示式 ret re.findall d kdk334k5kjkj76k54j5kk print ret 一次性返回所有匹配到的項,直接存到列表中.findall 和分組 的問題...