基礎知識 正則

2022-09-04 21:33:13 字數 2431 閱讀 7904

正規表示式簡介

測試字串的內的模式看字串是否符合規範,就是資料驗證

替換文字

在字串內提取子字串

正規表示式語法

一.普通字元

+符號表示,前面的乙個字元至少出現一次( >=1)

runoo+b
可以匹配runoob,runooob,runoooob等

*符號表示,前面的乙個字元可以出現0次或者一次或者多次( >= 0)

runoo*b
可以匹配runob,runoob,runooob等

?符號表示前面的乙個字元最多隻可以出現一次( 0次或者1次 )

colou?b
可以匹配colorb或者coloub

[ ]符號表示匹配中括號裡面所有的字元

[acb]
可以匹配字串absxcvb裡面a b c 字母

[^ ]符號匹配除了中括號內的所有字元

[^acb]
可以區配acvbngdsrt中除了a c b的所有字母

[a-z]符號匹配所有大寫字母

[a-z]
可以匹配ggoogleaxc中的g a x c

[a-z]符號匹配所有小寫字母

[a-z]
可以匹配googleasxc中的o o g l e

[^\r\n]符號匹配除換行符之外的任何單個字元

相當於 .

[^\r\n] = .
可以匹配asdfghj裡面的所有(除了換行)

[\s\s]可以匹配所有

\s
可以匹配所有的空白符,包括換行

\s
可以匹配所有的非空白符,不包括換行

[a-za-z0-9_]可以匹配所有字母,數字,下劃線

相當於\w

[a-za-z0-9_] = \w
二.非列印字元

\cx x必須為a-z或者a-z之一,可以匹配由x指明的控制字元

\f匹配乙個換頁符

\n匹配乙個換行符

\r匹配乙個回車符

\s匹配任何空字元,包括換行符,製表符,換頁符

\s匹配任何非空字元,不包括換行

\t匹配乙個製表符

\v匹配乙個垂直製表符

三.特殊字元

如果想要查詢這些符號,則需要轉義*

$匹配所有字串的結尾部分

()標記子表示式的開始與結束的位置

*匹配前面的乙個字元0次1次或者多次

+匹配前面的乙個字元1次或者多次

.匹配除換行符\n,\t之外的任何單字元

[ 標記乙個中括號表示式的開始

?匹配前面的子字元0次或者1次

^匹配字串的開始

,n為乙個非負整數,匹配確定的n次

o
不可以匹配boy裡面的o,但是可以匹配book裡面的oo

n為乙個非負整數,至少匹配n次

o
可以匹配book或者fooooood裡面的所有o,但是不可以匹配boy裡面的o

n,m都為非負整數,其中n<=m,表示最少匹配n最多匹配m次

五.定位符

可以讓你的正規表示式固定到行首或者行尾,正規表示式,可以出現在乙個單詞內也可以在乙個單詞的開頭,或者乙個單詞的結尾

限定符和定位符不可以同時使用

^ 匹配字串開始的位置

注意區分[^],這個是,[...]匹配除了裡面的字母

$匹配字串結尾的位置

\b匹配乙個單詞邊界,即字與空格的位置

\b非單詞邊界匹配

六.選擇

?=exp1(?= exp2):查詢exp2前面的exp1

runoob(?= [\d+])
匹配數字前面的runoob字串

?<=

(?<=exp2)exp1:查詢exp2後面的exp1

(?<=[0-9]+)runoob
匹配數字後面的runoob

exp1(?!exp2):查詢後面不是exp2的exp1

runoob(?![0-9]+)
匹配後面不是數字的runoob

(?(?匹配前面不是數字的runoob

七.反向引用

字元簇確認重複出現

a-z ↩︎

正則基礎知識

g 全域性匹配 i 忽略大小寫 gi 以上組合 匹配乙個輸入或一行的開頭,a 匹配 an a 而不匹配 an a 匹配乙個輸入或一行的結尾,a 匹配 an a 而不匹配 an a 匹配前面元字元0次或多次,ba 將匹配b,ba,baa,baaa 匹配前面元字元1次或多次,ba 將匹配ba,baa,b...

正則基礎知識 斷言

size medium 一 單詞邊界的匹配 使用 b能匹配單詞邊界,在 b所在的一邊不是單詞字元,單詞字元的解釋是 w能匹配的字元。例如 print re.findall r b w b a sentence tcontains na lot of words a sentence contains...

Python基礎知識 正則

import re str4 r id w w w s re.match str4,id 3aea5f99 6797 48bc 8b62 767a16d748c1 print s,type s if str s none print 1 else print 2 python正則寫法 1 匯入re ...