正則表達式是構成搜索模式的字符序列,該搜索模式可用於文本搜索和文本替換操作。 (我自己的理解就是模糊匹配)
通常搜索文本數據時,會使用搜索模式來描述搜索的內容,正則表達式是單字符或者更復雜的模式,可用於執行所有類型的文本搜索和文本替換操作。
一、語法:
/pattern(模式)/modifiers(修飾);
例:
var patt = /w3school/i;
例子解釋:
/w3school/i 是一個正則表達式。
w3school 是模式(pattern)(在搜索中使用)。
i 是修飾符(把搜索修改爲大小寫不敏感)。
二、正則表達式修飾符
修飾符 | 描述 |
---|---|
i | 執行對大小寫不敏感的匹配 |
g | 執行全局匹配(查找所有匹配而非在找到第一個匹配後停止) |
m | 執行多行匹配。 |
四、正則表達式模式
1、括號用於查找一定範圍的字符串:
表達式 | 描述 |
---|---|
[abc] | 查找方括號之間的任何字符 |
[0-9] | 查找任何從0-9的數字 |
(x"豎線"y) | 查找由“豎線”分隔的任何選項 |
2、元字符(Metacharacter)是擁有特殊含義的字符:
元字符 | 描述 |
---|---|
\d | 查找數字 |
\s | 查找空白字符 |
\b | 匹配單詞邊界 |
\uxxxx | 查找以十六進制數xxxx規定的Unicode字符 |
3、Quantifiers 定義量詞:
量詞 | 描述 |
---|---|
n+ | 匹配任何包含至少一個n的字符串 |
n* | 匹配任何包含零個或多個n的字符串 |
n? | 匹配任何包含零個或一個n的字符串 |
五、使用test() 是一個正則表達式方法。它通過模式來搜索字符串,然後根據結果返回 true 或 false。
例(搜索字符串中的字符“e”):
var patt = /e/;
patt.test(“The best things in life are free!”);
由於字符串中有一個 “e”,以上代碼的輸出將是:true
上面的兩行可縮短爲一行(不必先把正則表達式放入變量中):
/e/.test(“The best things in life are free!”);
六、使用exec() 是一個正則表達式方法。它通過指定的模式(pattern)搜索字符串,並返回已找到的文本。如果沒找到匹配返回null。
例:
/e/.exec(“The best things in life are free!”);
由於字符串中有一個 “e”,以上代碼的輸出將是:e
W3School JavaScript