正規表示式(regular expression,在**中常簡寫為regex、regexp或re)使用單個字串來描述、匹配一系列符合某個句法規則的字串搜尋模式。
語法:/正規表示式主體/修飾符(可選)
其中修飾符是可選的。
修飾符可以在全域性搜尋中不區分大小寫。
(1)i、i,執行對大小寫不敏感的匹配。
(2)g、g,執行全域性匹配(查詢所有匹配而非在找到第乙個匹配後停止)。
(3)m、m,行多行匹配。
(4)t、t,只匹配一次。
括號用於查詢某個範圍內的字元。
(1)[abc],查詢方括號之間的任何字元。
(2)[0-9],查詢任何從 0 至 9 的字元。
(3)(x|y),查詢任何以 | 分隔的選項,邏輯或。
(4),查詢n長度的字串。
(5),查詢n-m長度的字串。
元字元是擁有特殊含義的字元。
(1)\d,查詢數字。
(2)\s,查詢空白字元。
(3)\b,匹配單詞邊界,單詞字元包括:a-z、a-z、0-9,以及下劃線。。
(4)\u***x,查詢以十六進製制數 ***x 規定的 unicode 字元。
(5)\w、\w,用於查詢非單詞字元。
(5)^,以指定字元或字串開頭。
(6)$,以指定字元或字串結尾。
量詞代表匹配字元或字串的數量。
(1)n+,匹配任何包含至少乙個 n 的字串。
(2)n*,匹配任何包含零個或多個 n 的字串。
(3)n?,匹配任何包含零個或乙個 n 的字串。
說明:用於檢測乙個字串是否匹配某個模式,如果字串中含有匹配的文字,則返回 true,否則返回 false。
語法:pattern.test(str);
返回值:字串str匹配pattern模式,則返回 true,否則返回 false。
例項:判斷字串是否包含字元o。
var patt = /o/;
patt.test("hello world!");//true
patt.test("hi!");//false
說明:用於檢索字串中的正規表示式的匹配。該函式返回乙個陣列,其中存放匹配的結果。如果未找到匹配,則返回值為 null。
語法:pattern.exec(str);
返回值:返回乙個陣列,其中存放匹配的結果。如果未找到匹配,則返回值為 null。
例項:判斷字串是否包含字元o。
var patt = /o/;
var result1=patt.exec("hello world!");//array,result1[0]='o'
var result2=patt.exec("hi!");//null
使用正規表示式
如果原來沒有使用過正規表示式,那麼可能對這個術語和概念會不太熟悉。不過,它們並不是您想象的那麼新奇。請回想一下在硬碟上是如何查詢檔案的。您肯定會使用 和 字元來幫助查詢您正尋找的檔案。字元匹配檔名中的單個字元,而 則匹配乙個或多個字元。乙個如 data?dat 的模式可以找到下述檔案 data1.d...
使用正規表示式
本文節選自 並有稍微修正。使用正規表示式 您可以使用正規表示式做很多事情。在以下的列表中,您可以找到一些最普通 最常用的正規表示式的例子。表示文字串必須在一行的開頭。所以,當查詢行的開頭只為 hosts 的行,可以使用命令 grep ls hosts 代表了一行的結尾。所以,當查詢行的結尾只為 ho...
正規表示式使用
1 靜態match方法 使用靜態match方法,可以得到源中第乙個匹配模式的連續子串。2 靜態的matches方法 這個方法的過載形式同靜態的match方法,返回乙個matchcollection,表示輸入中,匹配模式的匹配的集合。3 靜態的ismatch方法 此方法返回乙個bool,過載形式同靜態...