(6 08)正規表示式的基礎語法

2021-10-01 22:39:08 字數 1883 閱讀 8587

匹配模式描述*

匹配前乙個模式0次或多次。例如,對於正規表示式「a[0-9]*c」,其與「ac」、「a0c」和「a01c」匹配,但與「abc」不匹配

+匹配前乙個模式1次或多次。例如,對於正規表示式「a[0-9]+c」,其與「a0c」和「a01c」匹配,但與「ac」和「abc」不匹配

?匹配前乙個模式0次或1次。例如,對於正規表示式「a[0-9]?c」,其與「ac」和「a0c」匹配,但與「a01c」和「abc」不匹配

匹配前乙個模式m次。例如,對於正規表示式「a[0-9]c」(表示:a和c之間只有乙個數字符),其與「a0c」匹配,但與「ac」、「a01c」和「abc」不匹配

匹配前乙個模式m至n次;省略n則匹配前乙個模式m次至無限次。例如,對於正規表示式「a[0-9]c」(表示:a和c之間有乙個數字符或有兩個數字符),其與「a0c」和「a01c」匹配,但與「ac」和「abc」不匹配

|「a|b」表示匹配a或b中的任一模式即可。例如,對於正規表示式「a[b|d]c」,其與「abc」和「adc」匹配,但與「ac」、「aac」和「abbc」不匹配。

(…)用()括起來的內容表示乙個分組。在匹配完成後,可以獲取每個分組在字串中匹配到的內容。例如,對於正規表示式「(.*?)abc」,其與「123abc456abc」匹配結果為「123」和「456」;而對於正規表示式「(.*)abc」,其與「123abc456abc」匹配結果為「123abc456」。「*?」與「*」的區別在於:「*? 」每次匹配盡可能少的字元;而「*」每次會匹配盡可能多的字元

\轉義符,使後面乙個字元改變原來的含義。例如,在正規表示式中要精確匹配字元$,則需要寫成「 \$」;要精確匹配字元 ^,則需要寫成 \^ 」

單詞字元包括:英文,字母,漢字,數字,下劃線

另乙個是空字元(即字串的開頭或末尾)意思是:字串的開頭是前乙個空字元,字串的末尾後乙個是空字元

eg:「\bfoo\b」:表示的意思是:前乙個\b的左邊應該是乙個非單詞字元;後乙個\b的右邊應該是乙個非單詞字元;

為啥"foo"可以被匹配呢?

因為:f的左邊是空,是乙個非單詞字元;

o的右邊是空,是乙個非單詞字元;

中間不用管

特殊序列

描述\number

number表示乙個數字,\number用於引用同一編號的分組中的模式(分組編號從1開始)。例如,對於正規表示式「([0-9])abc\1」,其中的「\1」就表示引用第1個分組中的模式「[0-9] 」,即等價於「([0-9])abc[0-9] 」,匹配以乙個數字開頭、乙個數字結尾、中間是abc的字串

\a匹配字串開頭的若干字元,同匹配模式中的^

\b單詞邊界符,即\b兩邊的字元應該乙個是非單詞字元、另乙個是單詞字元,或者乙個是單詞字元、另乙個是空字元(即字串的開頭或末尾)。例如,對於正規表示式「\bfoo\b」,其與「foo」、「foo. 」、「(foo) 」和「bar foo baz」匹配,但與「foobar」、「foo3」和「foo_bar」不匹配

\b非單詞邊界符,與\b功能相反

\d匹配任一數字字元,等價於[0-9]

\d與\d作用相反,匹配任一非數字字元,等價於[^0-9]

\s匹配任一空白字元

\s與\s作用相反,匹配任一非空白字元

\w匹配包含數字和下劃線在內的任一可能出現在單詞中的字元

\w與\w作用相反,即匹配\w不匹配的那些特殊字元

\z匹配字串末尾的若干字元,同匹配模式中的$

因此,當進行「\bfoo\b」的匹配時,實際編寫**時要寫作'\\bfoo\\b',這樣會造成**編寫時容易出錯且**可讀性較差。

我們通常在用於表示正規表示式的字串前加上乙個字元r,使得後面的字串忽略轉義符。

例如,對於字串'\\bfoo\\b',我們可以寫作r'\bfoo\b'。

正規表示式基礎語法

1.正規表示式基本語法 兩個特殊的符號 和 他們的作用是分別指出乙個字串的開始和結束。例子如下 the 表示所有以 the 開始的字串 there the cat 等 of despair 表示所以以 of despair 結尾的字串 abc 表示開始和結尾都是 abc 的字串 呵呵,只有 abc ...

正規表示式 基礎語法

eg1 檢驗登入名,只能以字母 數字 下劃線等字元組成,長度最短7,最高30 w 或者 a za z0 9 eg2 只能輸入由0到9之間的數字 0 9 或者 d eg3 只能輸入由26個英文本母組成的字串 a za z 說明 1.ab 表示乙個字串有乙個a後面跟著0個或多個b 2.ab 表示乙個字串...

正規表示式的基礎語法

首先讓我們看兩個特殊的符號 和 他們的作用是分別指出乙個字串的開始和結束。例子如下 the 表示所有以 the 開始的字串 there the cat 等 of despair 表示所以以 of despair 結尾的字串 abc 表示開始和結尾都是 abc 的字串 呵呵,只有 abc 自己了 no...