python學習 53 正規表示式

2022-08-28 17:03:29 字數 2886 閱讀 1877

1.元字元

-普通字元,大多數字元和字母都會和自身匹配

-元字元

例如: .   ^   $   *   ?      [  ]   |   ( )  \

>>> re.findall("

a...d

","abcfdasf")

['abcfd

']

>>> re.findall("

^a...d

","abcfdasf

") # 需要找的內容必須在字串開頭['

abcfd

']

>>> re.findall("

x.....u$

","xiaohongxiaogangxiaomingxiaowangxiaoliu

") # 需要找的內容必須在結尾['

xiaoliu

']

>>> re.findall("

xiaoliux+

","xiaohongxiaogangxiaomingxiaowangxiaoliu

") # + (1,無窮)

>>> re.findall("

xiaoliux*

","xiaohongxiaogangxiaomingxiaowangxiaoliu

") # * (0,無窮)['

xiaoliu']

>>>

>>> re.findall("

liu?

","xiaohongxiaogangxiaomingxiaowangxiaoliuuu

") # ? (0,1)['

liu']

>>> re.findall("

liu","

xiaohongxiaogangxiaomingxiaowangxiaoliuuu

") # 可以是任意範圍['

liuuu']

>>> re.findall("

liu","

xiaohongxiaogangxiaomingxiaowangxiaoliuuu")

>>> re.findall ("q[a-z]","sdafqaa")    # q與取到的a到z相匹配

['qa']

>>> re.findall ("

q[0-9]*

","sdafq77aa456

") # 取數字['

q77']

>>> re.findall ("

q[^a-z]

","sdafq77aa456

") # ^ 匹配 非 a-z的值['

q7']

>>> re.findall ("

\([^()]*\)

","12+(34*6+2-5*(2-1))

") # \ ( 將括號轉換為普通括號['

(2-1)

']

\d 匹配任何十進位制數,它相當於類[0-9]

\d 匹配任何非數字字串,它相當於類[^0-9]

\s匹配任何空白字元,它相當於類[\t \n \r \f \v]

\s 匹配任何非空白字元,它相當於類[^ \t \n \r \f \v]

\w 匹配任何字母數字字元,它相當於類[a-za-z0-9]

\w 匹配任何非字母數字字元,它相當於類[^ a-za-z0-9]

\b 匹配乙個特殊字元邊界,比如空格,& ,#等

>>> re.findall ("

\d+","

12+(34*6+2-5*(2-1))")

['12', '

34', '

6', '

2', '

5', '

2', '1'

]>>> re.findall ("

\d+","

12+(34*6+2-5*(2-1))")

['+(', '

*', '

+', '

-', '

*(', '

-', '))'

]>>> re.findall ("

\s","

hello world")

['']

>>> re.findall ("

\s","

hello world")

['h', '

e', '

l', '

l', '

o', '

w', '

o', '

r', '

l', 'd'

]>>> re.findall ("

\w+","

hello world")

['hello

', '

world']

>>> re.findall ("

\w","

hello world")

['']

>>> re.findall ("

\w","

hello1 world2")

['h', '

e', '

l', '

l', '

o', '

1', '

w', '

o', '

r', '

l', '

d', '2'

]>>> re.findall ("

\w+","

hello1 world2")

['hello1

', '

world2

']

53 正規表示式匹配

實現正規表示式匹配,支援 和 匹配任何單個字元。匹配零個或多個前面的元素。匹配應覆蓋整個輸入字串 不是部分 函式原型應該是 bool ismatch char s,char p s可以是空的並且只包含小寫字母a z。p可以是空的並且只包含小寫字母a z和字元.要麼 input s mississip...

Python 正規表示式學習(二)正規表示式語法

一,單一字元匹配 1 匹配任意字元 import re res re.match r a.abcd print res.group 列印結果 abc一點.表示匹配任意的字元。上面的 表示匹配a後面的任意兩個字元。必須從a開始。若寫成 b.則會發生錯誤。2 匹配指定字元 如 0 9a za z 表示 ...

python正規表示式學習

今天學習了python中有關正規表示式的知識。關於正規表示式的語法,不作過多解釋,網上有許多學習的資料。這裡主要介紹python中常用的正 則表示式處理函式。re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handso...