正規表示式

2021-08-22 08:41:17 字數 1419 閱讀 9310

正規表示式

what:一種匹配字串的規則

where:程式領域:1,登入註冊的表單驗證 2.爬蟲 3.自動化開發

why:可以制定乙個規則 1.來確認某乙個字串是否符合規則 2.從大段的字串中找到符合規則的內容

how:

正規表示式的語法:1.元字元 2.量詞 3.特殊用法和現象

1元字元

[...]----匹配字元組(集)中的字元

[^...]---匹配除了字元組中字元的所有字元

d-------匹配數字

w-------匹配字母數字或下劃線

s-------匹配任意空白符

d-------匹配非數字

w-------匹配非數字或字母或下劃線

s-------匹配非空白符

-------匹配乙個換行fu

-------匹配乙個製表符

^--------匹配字串的開始

$--------匹配字串的結尾

a|b------匹配a或b

()------匹配括號內的表示式,也表示乙個組

.--------匹配除換行符以外的任意字元

-------匹配乙個單詞的邊界

2量詞*--------重複零次或更多次

+--------重複一次或更多次

?-------重複零次或一次

------重複n次

-----重複n次或更多次

----重複n到m次

轉義符在正規表示式中,有很多有特殊意義的元字元,比如d和s等,如果要在正則中匹配正常的d而不是數字

就需要對''進行轉義,變為』\『。

在python中,無論是正規表示式,還是匹配內容,都是以字串的形式出現的,在字串中也有特殊的

含義,本身還需要轉義。所以如果匹配一次d,字串中要寫出\d,那麼正則裡面就要寫出\\d,這樣

就太麻煩了。這個時候我們就需要用到了 r'd'這個概念,此時的正則就是r'\d'就可以了。

貪婪匹配

貪婪匹配:在滿足匹配時,匹配盡可能長的字串,預設情況下,採用貪婪匹配

3特殊用法和現象

幾個常用的非貪婪匹配

*?------重複任意次數,但盡可能少重複

+?------重複1次或跟多次,但盡可能少重複

??-----重複0次或1次,但盡可能少重複

?---重複n到m次,但盡可能少重複

?----重複n次以上,但盡可能少重複

.*?的用法

.是任意字元

*是取0至無限長

?是非貪婪匹配

合在一起就是,取盡量少的任意字元,一般不會這麼單獨寫,大多用在

.*?x 就是取前面任意長度的字元,知道乙個x的出現。

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...