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("
輸入不合法
")
importreret = '
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
importres = "
abc hello bye
"obj = re.compile(r'
\s+') #
任意多個空格
s1 = re.sub(obj, '', s) #
將符合規則的字串 替換為空字元''
print(s1)
importreret = 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']
importre# ()是分組 ?:是取消了分組的優先
許可權
ret = re.findall(r'# findall會優先把匹配結果組()裡的內容返回
ret = re.findall(r'34ret = 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]) # 已經被取值取走三個結果 只能檢視剩餘結果
7['8', '4']
importreret = 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 和分組 的問題...