python 正則表達式 概述及常用字符
1.元字符:
. 它匹配除了換行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配換行
^ 匹配行首。除非設置 MULTILINE 標志,它只是匹配字符串的開始。
$ 匹配行尾,行尾被定義為要么是字符串尾,要么是一個換行字符后面的任何位置。
* 重復0或N次
+ 重復1或N次
? 重復0或1次
{} 該限定符的意思是至少有 m 個重復,至多到 n 個重復
[] 它們常用來指定一個字符類別,所謂字符類別就是你想匹配的一個字符集
\ 反斜杠后面可以加不同的字符以表示不同特殊意義。它也可以用于取消所有的元字符,這樣你就可以在模式中匹配它們了
| 可選項,或者 "or" 操作符。
() 組
2.[akm$]將匹配字符"a", "k", "m", 或 "$" 中的任意一個;"$"通常用作元字符,但在字符類別里,其特性被除去,恢復成普通字符。
3.用 "\" 開始的特殊字符所表示的預定義字符集
\d 匹配任何十進制數(shù);它相當于類 [0-9]。
\D 匹配任何非數(shù)字字符;它相當于類 [^0-9]。
\s 匹配任何空白字符;它相當于類 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相當于類 [^\t\n\r\f\v]。
\w 匹配任何字母數(shù)字字符;它相當于類 [a-zA-Z0-9_]。
\W 匹配任何非字母數(shù)字字符;它相當于類 [^a-zA-Z0-9_]。
\A 只匹配字符串首。當不在 MULTILINE 模式,\A 和 ^ 實際上是一樣的。然而,在 MULTILINE 模式里它們是不同的;\A 只是匹配字符串首,而 ^ 還可以匹配在換行符之后字符串的任何位置。
\Z 只匹配字符串尾。
\b 單詞邊界。這是個零寬界定符(zero-width assertions)只用以匹配單詞的詞首和詞尾。單詞被定義為一個字母數(shù)字序列,因此詞尾就是用空白符或非字母數(shù)字符來標示的。
\B 另一個零寬界定符(zero-width assertions),它正好同 \b 相反,只在當前位置不在單詞邊界時匹配。
4.重復元字符
* 重復0或N次
+ 重復1或N次
? 重復0或1次
{m,n},其中 m 和 n 是十進制整數(shù)。該限定符的意思是至少有 m 個重復,至多到 n 個重復
5.RegexObject對象常用方法
match() 決定 RE 是否在字符串剛開始的位置匹配
search() 掃描字符串,找到這個 RE 匹配的位置
findall() 找到 RE 匹配的所有子串,并把它們作為一個列表返回
finditer() 找到 RE 匹配的所有子串,并把它們作為一個迭代器返回
6.MatchObject對象的常用方法
group() 返回被 RE 匹配的字符串
start() 返回匹配開始的位置
end() 返回匹配結束的位置
span() 返回一個元組包含匹配 (開始,結束) 的位置
7.編譯標志
DOTALL, S 使 . 匹配包括換行在內的所有字符
IGNORECASE, I 使匹配對大小寫不敏感
LOCALE, L 做本地化識別(locale-aware)匹配
MULTILINE, M 多行匹配,影響 ^ 和 $
VERBOSE, X 能夠使用 REs 的 verbose 狀態(tài),使之被組織得更清晰易懂
相關文章
Python多進程multiprocessing用法實例分析
這篇文章主要介紹了Python多進程multiprocessing用法,結合實例形式分析了Python多線程的概念以及進程的創(chuàng)建、守護進程、終止、退出進程、進程間消息傳遞等相關操作技巧,需要的朋友可以參考下2017-08-08
Python使用matplotlib時顯示中文亂碼解決方法(或更改字體)
這篇文章主要給大家介紹了關于Python使用matplotlib時顯示中文亂碼的解決方法(或更改字體),在Matplotlib中,中文亂碼問題通常出現(xiàn)在圖表的標題、標簽和刻度上,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-12-12
TensorFlow教程Softmax邏輯回歸識別手寫數(shù)字MNIST數(shù)據(jù)集
這篇文章主要為大家介紹了python神經網(wǎng)絡的TensorFlow教程基于Softmax邏輯回歸識別手寫數(shù)字的MNIST數(shù)據(jù)集示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
Python解決“argument?after?*?must?be?an?iterable”報錯問題
這篇文章主要介紹了Python解決“argument?after?*?must?be?an?iterable”報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12

