Python正規表示式的常見用法

2021-10-03 19:39:14 字數 2524 閱讀 5942

# 正規表示式

import re # 正規表示式模組

# 匹配除了換行符之外的所有字元

m = re.findall('.', 'aa\ccdef')

print(m)

# 執行結果:['a', 'a', '\\', 'c', 'c', 'd', 'e', 'f']

# 轉義字元

m = re.findall('\.', 'ad.cb')

print(m)

# 執行結果:['.']

# 字符集

m = re.findall('a[bcd]e', 'abeaceade') #字符集就是用擴起來的,只要匹配其中的任意乙個字元都可以

print(m)

# 執行結果:['abe', 'ace', 'ade']

# 數字

m = re.findall('\d', 'abc123def')

print(m)

# 執行結果:['1', '2', '3']

# 非數字

m = re.findall('\d', 'abc123def')

print(m)

# 執行結果:['a', 'b', 'c', 'd', 'e', 'f']

# 空白字元

m = re.findall('\s', 'abc a\tb2c')

print(m)

# 執行結果:[' ', '\t']

# 非空白字元

m = re.findall('\s', 'abc a\tb2c')

print(m)

# 執行結果:['a', 'b', 'c', 'a', 'b', '2', 'c']

#數字和字母

m = re.findall('\w', 'abc#12#e#f-+')

print(m)

# 執行結果:['a', 'b', 'c', '1', '2', 'e', 'f']

#非數字和字母

m = re.findall('\w', 'abc#12#e#f-+')

print(m)

# 執行結果:['#', '#', '#', '-', '+']

#匹配開頭

m = re.findall('^abc', 'abcabc') #匹配開頭的abc

print(m)

# 執行結果:['abc']

#匹配結尾

m = re.findall('abc$', 'abcabc') #匹配結尾的abc

print(m)

# 執行結果:['abc']

#不區分大小寫

m = re.findall('abc', 'abcabc', re.i)

print(m)

# 執行結果:['abc', 'abc']

#匹配換行

s = 'hello\nworld

'm = re.findall(r'(.*)

', s, re.s)

print(m)

# 執行結果:['hello\nworld']

#匹配多行

m = re.findall('^abc','abc\nabc')

print(m) # ['abc']

m = re.findall('^abc','abc\nabc',re.m)

print(m) # ['abc', 'abc']

# 執行結果:['abc', 'abc']

# 匹配乙個或0個

m = re.findall('ab?', 'abbbbaba')

print(m)

# 執行結果:['ab', 'ab', 'a']

# 匹配至少乙個

m = re.findall('ab+', 'abbbbabb') # 匹配乙個或著多個

print(m)

# 執行結果:['abbbb', 'abb']

# 匹配至少0個

m = re.findall('ab*', 'aaabbabb')

print(m)

# 執行結果:['a', 'a', 'abb', 'abb']

#匹配以org結尾的郵箱

m = re.findall('\w+@\w+\.org','[email protected];[email protected]')

print(m)

# 執行結果:['[email protected]']

#其他規則

# 如果是多次呼叫某個正則,則最好先編譯後使用,編譯之後,可以多次使用

p = re.compile('^abc')

m = p.findall('abc\nabc')

print(m)

# 執行結果:['abc']

m = p.findall('abcdef\nnfdsfabc')

print(m)

# 執行結果:['abc']

m = p.findall('abcdef\nnfdsfabc')

print(m)

# 執行結果:['abc']

Python常見正規表示式

一 校驗數字的表示式 數字 0 9 n位的數字 d 至少n位的數字 d m n位的數字 d 零和非零開頭的數字 0 1 9 0 9 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 帶1 2位小數的正數或負數 d d 正數 負數 和小數 d d 有兩位小數的正實數 0 9 0 9 有1 3位小...

常見正規表示式

d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d d 0...

常見正規表示式

整數或者小數 0 9 0 9 只能輸入數字 0 9 只能輸入n位的數字 d 只能輸入至少n位的數字 d 只能輸入m n位的數字 d 只能輸入零和非零開頭的數字 0 1 9 0 9 只能輸入有兩位小數的正實數 0 9 0 9 只能輸入有1 3位小數的正實數 0 9 0 9 只能輸入非零的正整數 1 9...