正規表示式中的大多數結構匹配的文字會出現在匹配的結果中,但是有時候不但關心目標文字的匹配,
還要判斷目標文字左右兩側的文字是否符合要求,這種要求的正則裡叫做斷言。
常見的斷言有三類:單詞邊界、行的起始、結束的位置、環視。
單詞邊界:正則記著:\b,它匹配「單詞邊界」的位置。
使用情況:
\bword\b \bword word\b
aword success
awords
words success
word success success success
\b是非單詞邊界。
行起始、結束位置在正規表示式中,這類匹配位置的元素叫做錨點,用來定位的,
常用的錨點還有^和$,,分別匹配字串的開始和結束的位置,如果匹配模式是多行的時候,
他們還可以匹配每一行的開始和結束位置。使用表示式:(?m)^...$
所以在多行模式時,匹配整段文字的開始和結束位置需要其他的方式,他們是\a和\z
環視:之前介紹邊界匹配,它是完成這樣的判斷,在某個位置向左向右看,必須出現和必須不出現某些字元,這種功能在正則裡面叫做環視。
正則使用:
(?!...) 是指當前位置之後,不容許出現能匹配的字元
(?(?=...) 是指當前位置之後,容許出現能匹配的字元
(?<=...) 是指當前位置之前,容許出現能匹配的字元
在正則中還可以選擇匹配模式,一般常見的匹配模式:不分大小寫模式、單行模式、多行模式、注釋模式
使用:不分大小寫模式(?i)
單行模式(?s)
多行模式(?m)
注釋模式(?x)
正則指引 量詞
量詞 指定字元組出現的次數 例如 d d d表示出現三個字元組,我們可以使用量詞表示法 d量詞可以表示字元組出現的次數,還可以表示字元組出現次數的範圍 d 就表示這邊可以匹配出現0到10次之間整數。一般量詞的表示 表示範圍 m x n 表示範圍 m x x可以無窮大 表示範圍 0 x n 還存在一組...
正則指引 括號
正則指引 括號 之前學習字元組和量詞,量詞是形容字元組的,但是有時候我們希望用量詞來形容多個元素,我們可以用括號完成,我們可以使用 把目標元素括起來,就可以把括號內部看成乙個整體,在括號外部使用量詞,量詞就會對括號內部的所有元素作用。用括號改變量詞的作用元素 re.research r ab ab ...
正則指引 字元組
字元組 在同乙個位子可能出現的各種字元。用正規表示式判斷數字字元 re.search 0123456789 charstr none 其中 0123456789 以字串形式給出正規表示式,他是乙個字元組,表示可以是0到9的任意乙個字元。net中regex.ismatch charstr,012345...