正規表示式

2021-04-07 07:02:57 字數 2133 閱讀 5575

首先讓我們看兩個特殊的符號

'^'和

'$'。他們的作用是分別指出乙個字串的開始和結束。例子如下:

"^the"

:表示所有以

"the"

開始的字串(

"there"

,"the cat"

等);"of despair$"

:表示所以以

"of despair"

結尾的字串;

"^abc$"

:表示開始和結尾都是

"abc"

的字串

——呵呵,只有

"abc"

自己了;

"notice"

:表示任何包含

"notice"

的字串。

象最後那個例子,如果你不使用兩個特殊字元,你就在表示要查詢的串在被查詢串的任意部分

——你並

不把它定位在某乙個頂端。

其它還有

'*',

'+'和

'?'這三個符號,表示乙個或一串行字元重複出現的次數。它們分別表示

「沒有或更多」

,「

一次或更多」還有

「沒有或一次

」。下面是幾個例子:

"ab*"

:表示乙個字串有乙個

a後面跟著零個或若干個b。(

"a", "ab", "abbb",……

);"ab+"

:表示乙個字串有乙個

a後面跟著至少乙個

b或者更多;

"ab?"

:表示乙個字串有乙個

a後面跟著零個或者乙個b;

"a?b+$"

:表示在字串的末尾有零個或乙個

a跟著乙個或幾個b。

你也可以使用範圍,用大括號括起,用以表示重複次數的範圍。

"ab"

:表示乙個字串有乙個a跟著

2個b(

"abb"

);"ab"

:表示乙個字串有乙個

a跟著至少2個

b;

"ab"

:表示乙個字串有乙個a跟著

3到5個

b。

請注意,你必須指定範圍的下限(如:

""而不是

"")。還有,你可能注意到了,

'*',

'+'和

'?'相當於"",

""和""。

還有乙個

'¦',表示「或

」操作:

"hi¦hello"

:表示乙個字串裡有

"hi"

或者"hello"

;"(b¦cd)ef"

:表示"bef"

或"cdef"

;"(a¦b)*c"

:表示一串

"a""b"

混合的字串後面跟乙個

"c";

'.'可以替代任何字元:

"a.[0-9]"

:表示乙個字串有乙個

"a"後面跟著乙個任意字元和乙個數字;

"^.$"

:表示有任意三個字元的字串(長度為

3個字元);

方括號表示某些字元允許在乙個字串中的某一特定位置出現:

"[ab]"

:表示乙個字串有乙個

"a"或

"b"(相當於

"a¦b"

);"[a-d]"

:表示乙個字串包含小寫的

'a'到

'd'中的乙個(相當於

"a¦b¦c¦d"

或者"[abcd]"

);"^[a-za-z]"

:表示乙個以字母開頭的字串;

"[0-9]%"

:表示乙個百分號前有一位的數字;

",[a-za-z0-9]$"

:表示乙個字串以乙個逗號後面跟著乙個字母或數字結束。

你也可以在方括號裡用

'^'表示不希望出現的字元,

'^'應在方括號裡的第一位。(如:

"%[^a-za-z]%"

表示兩個百分號中不應該出現字母)。

為了逐字表達,你必須在

"^.$()¦*+?{/"

這些字元前加上轉移字元

'/'。

請注意在方括號中,不需要轉義字元。

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

非負整數 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正規表示式 編寫正規表示式

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