13 正規表示式(上)

2022-09-12 11:21:12 字數 1977 閱讀 9976

- 正規表示式概述

- 正規表示式的執行

- 建立正規表示式

- 特殊字元: \、^、$正規表示式,又稱規則表示式。(英語:regular expression,在**中常簡寫為regex、regexp或re),電腦科學的乙個概念。正則表通常被用來檢索、替換那些符合某個模式(規則)的文字。

直接量語法:

/pattern/attributes
建立 regexp 物件的語法:
new regexp(pattern, attributes);
引數pattern是乙個字串,指定了正規表示式的模式或其他正規表示式。

引數attributes是乙個可選的字串,包含屬性 "g"、"i" 和 "m",分別用於指定全域性匹配、不區分大小寫的匹配和多行匹配。如果pattern是正規表示式,而不是字串,則必須省略該引數。屬性

描述global

regexp 物件是否具有標誌g

ignorecase

regexp 物件是否具有標誌i

lastindex

乙個整數,標示開始下一次匹配的字元位置

multiline

regexp 物件是否具有標誌m

source

正規表示式的源文字

方法描述

compile

編譯正規表示式

exec

檢索字串中指定的值。返回找到的值,並確定其位置。

test

檢索字串中指定的值。返回 true 或 false。

compile() 方法用於在指令碼執行過程中編譯正規表示式。也可用於改變和重新編譯正規表示式。

regexpobject.compile(pattern[,flag])

pattern 正規表示式flag ###### 規定匹配的型別。「g」or「i」or「m」

var str = 'my name is jeepeng.';

var patt = /my/g;

var str2 = str.replace(patt,"his");

console.log(str2);

patt.compile(/jeepeng/gim);

str2 = str.replace(patt,"lily");

console.log(str2);

exec() 方法用於檢索字串中的正規表示式的匹配。

regexpobject.exec(string)

string:要檢索的字串。

返回乙個陣列,其中存放匹配的結果。如果未找到匹配,則返回值為 null。

var p = /\d/g;

var str = '1213abcf3ss9';

while((result = p.exec(str))!= null)

test() 方法用於檢測乙個字串是否匹配某個模式。

regexpobject.test(string)

如果字串 string 中含有與 regexpobject 匹配的文字,則返回 true,否則返回 false。等價於:(regexpobject.exec(string) != null)。

var str = '1e2';

var p = /\d/g;

console.log(p.test(str));

將下乙個字元標記符、或乙個向後引用、或乙個八進位制轉義符。例如,「\n」匹配\n。「\n」匹配換行符。序列「\」匹配「\」而「(」則匹配「(」。即相當於多種程式語言中都有的「轉義字元」的概念。匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,^也匹配「\n」或「\r」之後的位置。

還有一種用法如:反向範圍字元。匹配不在指定的範圍內的任何字元。例如,「[^a-z]」匹配任何不在「a」到「z」範圍內的任何字元。匹配輸入字串的結束位置。如果設定了regexp物件的multiline屬性,$也匹配「\n」或「\r」之前的位置。

正規表示式(上)

ruby 正規表示式編輯器 ruby 的正規表示式以 作為構造方法。表示式返回乙個 regexp 的物件。一般規則 a 匹配字元 a。匹配特殊字元?特殊字元包括 匹配任意字元,例如 a.匹配 ab 和ac。ab c 匹配 ac 和bc,之間代表範圍。例如 a z a za z0 9 a za z0 ...

Ruby正規表示式(上)

ruby的正規表示式以 作為構造方法。表示式返回乙個regexp的物件。一般規則 a 匹配字元a。匹配特殊字元?特殊字元包括 匹配任意字元,例如 a.匹配ab和ac。ab c 匹配ac和bc,之間代表範圍。例如 a z a za z0 9 a za z0 9 匹配不在該範圍內的字串。d 代表任意數字...

Ruby正規表示式(上)

ruby的正規表示式以 作為構造方法。表示式返回乙個regexp的物件。一般規則 a 匹配字元a。匹配特殊字元?特殊字元包括 匹配任意字元,例如 a.匹配ab和ac。ab c 匹配ac和bc,之間代表範圍。例如 a z a za z0 9 a za z0 9 匹配不在該範圍內的字串。d 代表任意數字...