正規表示式

2021-08-08 10:27:21 字數 3905 閱讀 8018

一 正規表示式的正文。 

正規表示式中使用了特殊符號。下面我就將各種符號以及其意義和用法簡單的介紹一下(說明:"x以上包括x"):

/ 表示在其後的文字是特殊符號。例:"n"和"n"是一致的。"/n"和換行符是一致的。

^ 和輸入的開始一致。

$ 和輸入的結尾一致。

* 與此符號之前的文字0次以上相同的話,兩者一致。例:"zo*"和"zoo","z"都一致。

+ 與此符號之前的文字1次以上相同的話,兩者一致。例:"zo*"和"zoo"一致,但和"z"不一致。

? 與此符號之前的文字0次或1次相同的話,兩者一致。例:"a?ve?"和"never"的"ve"一致。

. 與除了換行符的所有單一文字一致。

(正規表示式) 以所指定的表示式尋找一致文字。如果找到了,儲存下來。一致的部分可以從

match方法獲得的陣列中找到。

x|y x和y的任意一方相同都會被認為一致。例:"(z|f)ood"和"zood","food"都一致。

n是0以上的整數。與其前的文字n次相同的話,兩者一致。例:"o"和"bob"中的"o"不一

致,與"foooood"中的前兩個"o"一致。

n是0以上的整數。與其之前的文字至少n次相同才一致。

兩者整數。n至m範圍的次數一致。

[xyz] 與中括號中的文字任意乙個相同都被認為一致。

[^xyz] 與上面的相反。

[a-z] 文字的範圍,從"a"到"z"的文字都被認為一致。

[^a-z] 與上面的相反。

/b 表示單詞的末尾。例:"er/b"和"never"的"er"一致,但和"verb"的"er"不一致。

/b 表示非單詞的末尾。

/d 表示數字。

/d 表示非數字。

/s 表示空格。

/s 表示非空格。

/w 表示所有字母數字。

/w 表示非所有字母數字。

i (忽略大小寫)

g (全文查詢出現的所有 pattern)

gi (全文查詢、忽略大小寫)

/num num應該被賦予乙個正數。與已經儲存的部分比較。例:"(.)/1"和任意的兩個連續的相同

文字一致。

二 如何定義一句正文:

方法一:直接寫

var s=/正規表示式/i或g或ig

方法二:建立物件例項:

var s=new regexp(正規表示式,i或g或ig)

三 與正規表示式有關的方法:

1 exec方法

描述: 在制定的文字行內進行搜尋。

結構: 正規表示式.exec(字串)。

解說: 檢索的返回:

null 沒有檢索到;

一致的結果 檢索到後;

例: **片段如下:2 compile方法:

描述: 修改正則表現的內部形式。

結構: 正則表達.compile('正文','g或i或ig')。

解說: 沒什麼好說的。

例: **片段如下:3 test方法:

描述: 顧名思義,做測驗。

結構: 正則表達.test(字串)。

解說: 返回:

false 沒找到;

true 找到了;

例: **片段如下:4 replace方法:

描述: 尋找一致的並置換他。

結構: 字串.replace(正則表達,替換字串)。

解說: 與字串不變化,返回其副本。

例: **片段如下:5 match方法:

描述: 實行檢索。

結構: 字串.match(正則表達)。

解說: 返回數列。

例: **片段如下:6 split方法:

描述: 分割字串。

結構: 字串.split(正則表達)。

解說: 返回數列。

例: **片段如下:7 search方法:

描述: 返回一致的字串的位置。(這比indexof可用途廣多了!)

結構: 字串.search(正則表達)。

解說: 返回

正整數 如果找到了

-1 如果沒找到

例: **片段如下:把replace的方法的例子改一下:

**片段如下:最後是他的各種屬性

1 lastindex屬性:

描述: 設定檢索開始的位置,可以得到其值

結構: 正則表達.lastindex(=值).

解說:

當lastindex大於檢索文字長度的時候,如果用test,exec方法執行的話,執行失敗,

lastindex屬性被設定為0.

當lastindex等於檢索文字長度的時候,如果表示式正文是空的話,一致.其他場合,

執行失敗,重設為0.

上記以外的情況,lastindex會被設定為最後一致的文字列的位置指標.

2 source屬性

描述: 返回正則表達的正文

結構: 正則表達.source

例: **片段如下:下面我將幾個處理字元函式寫出來:

1 嚴禁數字

**片段如下:

function

check

(msg)

2 只准字母

**片段如下:

function

check

(msg)

3 嚴禁**

**片段如下:

function

check

(msg)$

匹配國內**號碼:\d

-\d|\d

-\d 評注:匹配形式如 0511-4405222 或 021-87888822

[0-9]

\d匹配身份證:\d

|\d\d+\.

\d+\.

匹配特定數字:

^[1-9]

\d*$ //匹配正整數

^-[1-9]

\d*$ //匹配負整數

^-?[1-9]

\d*$ //匹配整數

^[1-9]

\d*|0$ //匹配非負整數(正整數 + 0)

^-[1-9]

\d*|0$ //匹配非正整數(負整數 + 0)

^[1-9]

\d*\.

\d*|0\.

\d*[1-9]

\d*$ //匹配正浮點數

^-([1-9]

\d*\.

\d*|0\.

\d*[1-9]

\d*)$ //匹配負浮點數

^-?([1-9]

\d*\.

\d*|0\.

\d*[1-9]

\d*|0?\.0+|0)$ //匹配浮點數

^[1-9]

\d*\.

\d*|0\.

\d*[1-9]

\d*|0?\.0+|0$ //匹配非負浮點數(正浮點數 + 0)

^(-([1-9]

\d*\.

\d*|0\.

\d*[1-9]

\d*))|0?\.0+|0$ //匹配非正浮點數(負浮點數 + 0) 評注:處理大量資料時有用,具體應用時注意修正

匹配特定字串:

^[a-za-z]+$ //匹配由26個英文本母組成的字串

^[a-z]+$ //匹配由26個英文本母的大寫組成的字串

^[a-z]+$ //匹配由26個英文本母的小寫組成的字串

^[a-za-z0-9]+$ //匹配由數字和26個英文本母組成的字串

^\w+$ //匹配由數字、26個英文本母或者下劃線組成的字串 評注:最基本也是最常用的一些表示式

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

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

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