正規表示式在Python中的常用匹配字元

2021-08-28 19:26:39 字數 2093 閱讀 7068

.--匹配任意字元,除了換行符,當re.dotall標記被指定時,則可以匹配包括換行符的任意字元。

?--匹配乙個任意字元

^--匹配字串的開頭

$--匹配字串的末尾。

[…]--用來表示一組字元,單獨列出:[amk] 匹配 『a』,『m』或』k』

[^…]--不在中的字元:[^abc] 匹配除了a,b,c之外的字元。

例:[pp]ython --匹配 「python」 或 「python」

rub[ye] --匹配 「ruby」 或 「rube」

[aeiou] --匹配中括號內的任意乙個字母

[0-9]-- 匹配任何數字。類似於 [0123456789]

[a-z] --匹配任何小寫字母

[a-z] --匹配任何大寫字母

[a-za-z0-9] --匹配任何字母及數字

[^aeiou] --除了aeiou字母以外的所有字元

[^0-9] --匹配除了數字外的字元

re* --匹配0個或多個的表示式。

re+ --匹配1個或多個的表示式。

re? --匹配0個或1個由前面的正規表示式定義的片段,非貪婪方式

re --精確匹配 n 個前面表示式。例如, o 不能匹配 「bob」 中的 「o」,但是能匹配 「food」 中的兩個 o。

re 匹配 n 個前面表示式。例如, o 不能匹配"bob"中的"o",但能匹配 "foooood"中的所有 o。「o」 等價於 「o+」。「o」 則等價於 「o*」。

re 匹配 n 到 m 次由前面的正規表示式定義的片段,貪婪方式

\w --匹配字母數字及下劃線,等價於』[a-za-z0-9_], 這裡中文也可以匹配

\w --匹配非字母數字及下劃線 ,[^a-za-z0-9_]

\s --匹配任意空白字元,等價於 [\t\n\r\f\v]

\s --匹配任意非空字元,等價於 [^ \f\n\r\t\v]

\d --匹配任意數字,等價於 [0-9]

\d --匹配任意非數字,等價於 [^0-9]

\a --匹配字串開始

\z --匹配字串結束,如果是存在換行,只匹配到換行前的結束字串

\b --匹配乙個單詞邊界,也就是指單詞和空格間的位置。例如, 『er\b』 可以匹配"never" 中的 『er』,但不能匹配 「verb」 中的 『er』。

\b --匹配非單詞邊界。『er\b』 能匹配 「verb」 中的 『er』,但不能匹配 「never」 中的 『er』。

import re

print(re.findall(r".","hello\n"))

print(re.findall(r"\d","dhjc987"))

print(re.findall(r"\d","dhjc987"))

print(re.findall(r"\s","hello\nworld\t你好\r"))

print(re.findall(r"\s","hello\nworld\t你好\r"))

print(re.findall(r"\w","ni號123_____%^&"))

print(re.findall(r"\w","ni號123_____%^&"))

python中的正規表示式

正規表示式是一種用來匹配字串的強有力的 它的設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,我們就認為它 匹配 了,否則,該字串就是不合法的。因為正規表示式也是用字串表示的,所以,我們要首先了解如何用字元來描述字元。在正規表示式中,如果直接給出字元,就是精確匹配。用 d可以匹配...

Python中的正規表示式

在使用python製作爬蟲之前,我們必須要對python的正規表示式有一定的了解,在python中使用正規表示式要匯入re包 d匹配數字1 9 w匹配字元 匹配集合裡面的字元 匹配前面出現的正規表示式1次或多次 表示匹配任意乙個字元,除換行符除外,x.匹配xy23中的xy,若是x.則匹配出xy2 表...

Python中的正規表示式

對應 abc 001 s r abc 001 加r字首,就不用考慮轉義的問題了。print re.match d d 010 12345 匹配成功返回乙個match物件,否則返回none.re.match 的常見寫法 test 輸入字串 if re.match 正規表示式 test print ok...