python基礎(三) 正規表示式

2021-08-18 09:03:08 字數 3037 閱讀 1975

import re

#匹配abc

m = re.findall("abc", "aabbccabccbaccbaaabcabc")

print(m)

#匹配一位數字,digit

m = re.findall("\d", "123abc1a2b3c1b2c3a")

print(m)

#匹配四位數字

m = re.findall("\d\d\d\d", "123abc1234ab12345c")

print(m)

#貪婪匹配

m = re.findall("(.*)

", "hello

")print(m)

m = re.findall("(.*)

", "hello

world

")print(m)

#非貪婪匹配

m = re.findall("(.*?)

", "hello

world

")print(m)

#除換行符以外的所有字元

m = re.findall(".", "asdd\ndwjh\r")

print(m)

#轉義字元

m = re.findall("\.", "a.c")

print(m)

#字符集,匹配中括號中任意乙個字元

m = re.findall("a[bc]d", "abcdabdacdabbsdad")

print(m)

#數字m = re.findall("\d", "abc1a2a32b")

print(m)

#非數字

m = re.findall("\d", "abc1a2a32b#")

print(m)

#空白字元

m = re.findall("\s", "abc a\na\r asd")

print(m)

#非空白字元

m = re.findall("\s", "abc a\na\r asd")

print(m)

#數字&字母

m = re.findall("\w", "ald!@n12\n1s\rk13")

print(m)

#非數字*字母

m = re.findall("\w", "ald!@n12\n1s\rk13")

print(m)

#匹配開頭

m = re.findall("^abc", "abccbaabc")

print(m)

#匹配結尾

m = re.findall("cba$", "cbaabccba")

print(m)

#不區分大小寫re.i

m = re.findall("abc", "abcabcabc", re.i)

print(m)

#匹配換行符&組合使用re.i

s = "hello\nworld

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

", s, re.s | re.i)

print(m)

#匹配多行

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

print(m)

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

print(m)

#匹配0或1個

m = re.findall("ab?", "abbbabbaaab")

print(m)

#匹配至少1個

m = re.findall("ab+", "abbbabbaaab")

print(m)

#匹配至少0個

m = re.findall("ab*", "abbbabbaaab")

print(m)

#例項:匹配郵箱

mail = "[email protected]"

m = re.findall("\w+@\w+\.com", mail)

print(m)

#先編譯後使用

a = re.compile("\w+@\w+\.com")

m = a.findall("[email protected]")

n = a.findall("[email protected]")

print(m, n)

輸出結果:

['abc', 'abc', 'abc']

['1', '2', '3', '1', '2', '3', '1', '2', '3']

['1234', '1234']

['hello']

['hello

world']

['hello', 'world']

['a', 's', 'd', 'd', 'd', 'w', 'j', 'h', '\r']

['.']

['abd', 'acd']

['1', '2', '3', '2']

['a', 'b', 'c', 'a', 'a', 'b', '#']

[' ', '\n', '\r', ' ']

['a', 'b', 'c', 'a', 'a', 'a', 's', 'd']

['a', 'l', 'd', 'n', '1', '2', '1', 's', 'k', '1', '3']

['!', '@', '\n', '\r']

['abc']

['cba']

['abc', 'abc', 'abc']

['hello\nworld']

['abc']

['abc', 'abc']

['ab', 'ab', 'a', 'a', 'ab']

['abbb', 'abb', 'ab']

['abbb', 'abb', 'a', 'a', 'ab']

['[email protected]']

['[email protected]'] ['[email protected]']

python基礎學習(三) 正規表示式

對上述 段,若使用 或 為貪婪匹配,即盡可能匹配多的字元 會匹配整段 通過在 或 限定符之後放置 使該表示式從 貪心 表示式轉換為 非貪心 表示式或者最小匹配 則只匹配到 匹配除了 n換行符之外的任一單字元 對乙個正規表示式模式或部分模式兩邊新增圓括號將導致相關匹配儲存到乙個臨時緩衝區中,所捕獲的每...

MySQL 基礎語法 三 正規表示式

模式描述 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果設定了regexp 物件的 multiline 屬性,也匹配 n 或 r 之前的位置。匹配除 n 之外的任何單個字元。要匹配包括 n 在內的任何字...

正規表示式(三) 正規表示式中的重複

我們在之前知道了正規表示式元字元的概念,再結合上重複的概念,才能寫出來一些相對高階的正規表示式。因為在實際的正規表示式的使用過程中,我們肯定不是那麼簡單的只用元字元來進行一些簡單的匹配,一般情況下還需要配合上重複的概念才能從乙個很長很亂的字串中匹配出我們想要的東西。下面我們會從下面的幾個方面來進行正...