Python中的正則表達(dá)式

本來只有一個(gè)問題,當(dāng)你使用正則表達(dá)式時(shí),就變成了兩個(gè)問題

我們在處理網(wǎng)頁文本時(shí),經(jīng)常會有查找符合某些規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的工具。它是由普通字符和元字符組成的文字模式。而模式是用于描述在搜索文本時(shí)要匹配的一個(gè)或多個(gè)字符串。正則表達(dá)式作為一個(gè)模板,將摸個(gè)字符模式與所搜索的字符串進(jìn)行匹配。

  1. 基本語法與使用
    先來看幾個(gè)例子
    1.1 入門小例子
    學(xué)習(xí)正則表達(dá)式最好的辦法就是通過例子,當(dāng)然任何事物都是這樣。

例如我們想找到一篇英文文獻(xiàn)中所有的we單詞,你可以使用正則表達(dá)式:we,這是最簡單的正則表達(dá)式,可以精確匹配想要的單詞。正則表達(dá)式工具一般可以設(shè)置為忽略大小寫,那we這個(gè)正則表達(dá)式可以將文獻(xiàn)中的we、wE、We、和WE都匹配處理。如果僅僅使用we來匹配,會發(fā)現(xiàn)的出來的記過和預(yù)想的不一樣,類似于well、welcome這樣的單詞也會被匹配出來,因?yàn)檫@些單詞中也包含we。如何僅僅將we單詞匹配出來呢?我們需要使用這樣的正則表達(dá)式:\bwe\b。

"\b"是正則表達(dá)式規(guī)定的一個(gè)特殊代碼,被稱為“元字符”,代表著單詞的開頭或結(jié)尾,也就是單詞的分解出,它不帶包英語中空格、標(biāo)點(diǎn)符號、換行等單詞分隔符,知識用來匹配一個(gè)位置,他的寬度是0,也叫零寬定界符。

假如我們看到we單詞不遠(yuǎn)處有個(gè)work單詞,想把we、work和他們之間的所有內(nèi)容都匹配出來,那么我們需要了解另外兩個(gè)“元字符”,"."和"",正則表達(dá)式可以寫為"\bwe\b.\bwork\b" 。"."的含義是匹配除了換行符"\n"的任意字符,""不是代表字符,而是代表匹配的數(shù)量,含義是匹配其前面的內(nèi)容0次或任意次。"."整體的意思就是匹配當(dāng)前行所有字符,"\bwe\b.*\bwork\b"作用就是先匹配出單詞we,接著當(dāng)前行匹配任意字符,直到匹配到單詞"word"結(jié)束。

  1. 常用的元字符
    元字符主要有以下四種作用:
  • 匹配字符
  • 匹配位置
  • 匹配數(shù)量
  • 匹配模式
元字符 含義
. 匹配除換行符以外的任一字符
\b 匹配單詞的開始或結(jié)束(零寬定界符)
\d 匹配數(shù)字
\w 匹配字母、數(shù)字、劃線或漢字
\s 匹配任意空白符,包括空格、Tab、換行符、中文全角空格等
^ 匹配字符的開始,在[]中表示非選擇
$ 匹配字符串的結(jié)束
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容