python之正規表示式

weixin_34321977發表於2018-08-11

正規表示式:

/b    邊      /bhi/b     代表hi

/d    數字   /d{5}      代表5個數字

/w   萬能(差.) 除下劃線的非符號字元/w{4,10}  代表4到10個字元(數字,字母,中文,下劃線)

/s    空格或換行符

/      轉義字元,//代表/

|       代表或者

段域:()

始尾符:^表示以xx開頭,$表示以xx結尾,   ^xxxx$

換行符:\n

連線符:-


正則的一些等價關係:(核心元素就是內容和長度)

長度關係:

        *     代表非負長度,很多個

        +     代表正長度,多個

        {3}    代表3個物件的長度

        {3,6}  代表3-6個物件的長度

       ?     代表{0,1}個物件的長度,代表有和無2種情況

內容關係:

          .      代表任意字元(除換行符)

          /d     代表數字[0-9]

          /w     代表字母下劃線數字組合字符集[a_0-Z_9],含中文

         .*?    代表所有內容,等價於一個萬能變數,自然也用於表示變化的資料

          [a-z]     代表範圍性的內容,預設長度為1,如[0-9]表示0到9間的一個數

          [abd]   匹配所包含的任一個字元,沒有符號之說,除-,如[a,5,]表示含a或5或逗號的字串

例子:

[3, ab]表示匹配含逗號或含3或含a或含b的字串,作用於括號內一切字元,但[3-8]這種例外,因為這種有新的意思了,代表3到8間的一個數。

.* ?代表任意長度任意字元(不含換行符),真正的萬能替換符,最常用

正規表示式標準格式= ^[m]{n}[m1]{n1,n2}[m2]{n3,n4}$ , 其中m,n為任意字元,不考慮其邏輯關係

相關文章