JS RegExp正規表示式使用詳解

2021-10-09 18:45:19 字數 1399 閱讀 9982

正規表示式(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,過載形式同靜態...