JavaScript: 知識點回顧篇(六):js中的正則表達式 -- RegExp 對象 ...
JavaScript -- 知識點回顧篇(六):js中的正則表達式 -- RegExp 對象
1. js正則表達式匹配字元之含義
. 查找單個字元,除了換行和行結束符。
\w 查找單詞字元。
\W 查找非單詞字元。
\d 查找數字。
\D 查找非數字字元。
\s 查找空白字元。
\S 查找非空白字元。
\b 匹配單詞邊界。
\B 匹配非單詞邊界。
\0 查找 NULL 字元。
\n 查找換行符。
\f 查找換頁符。
\r 查找回車符。
\t 查找製表符。
\v 查找垂直製表符。
\123 查找以八進位數 123 規定的字元。
\x35 查找以十六進位數 35 規定的字元。
\u0055 查找以十六進位數 0055 規定的 Unicode 字元。
2. 匹配字元的數量及格式的控制
a+ 匹配任何包含至少一個 a 的字元串。
a* 匹配任何包含零個或多個 a 的字元串。
a? 匹配任何包含零個或一個 a 的字元串。
a{2} 匹配包含 2個 a 的序列的字元串。
a{2,5} 匹配包含 2 至 5 個 a 的序列的字元串。
a{3,} 匹配包含至少 3 個 a 的序列的字元串。
a$ 匹配任何結尾為 a 的字元串。
^a 匹配任何開頭為 a 的字元串。
?=a 匹配任何其後緊接指定字元串 a 的字元串。
?!a 匹配任何其後沒有緊接指定字元串 a 的字元串。
3. 匹配指定範圍內的字元
[abc] 查找方括弧之間的任何字元。
[^abc] 查找任何不在方括弧之間的字元。
[0-9] 查找任何從 0 至 9 的數字。
[a-z] 查找任何從小寫 a 到小寫 z 的字元。
[A-Z] 查找任何從大寫 A 到大寫 Z 的字元。
[A-z] 查找任何從大寫 A 到小寫 z 的字元。
[abxy] 查找給定集合內的任何字元。
[^abxy] 查找給定集合外的任何字元。
(red|blue|green) 查找任何指定的選項。
4. 修飾符
i 執行對大小寫不敏感的匹配。
g 執行全局匹配(查找所有匹配而非在找到第一個匹配後停止)。
m 執行多行匹配。
5. RegExp 對象的方法
exec() 方法用於檢索字元串中的正則表達式的匹配。返回一個數組,其中存放匹配的結果。如果未找到匹配,則返回值為 null。
<script type="text/javascript"> var txt1='Hello World 2019 !'; var patt1 = new RegExp(/\d+/g); var result = patt1.exec(txt1); document.write("匹配結果: " + result); </script>
test() 方法用於檢測一個字元串是否匹配某個模式。如果字元串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false。
<script type="text/javascript"> var txt1='Hello World 2019 and 2020!'; var patt1 = new RegExp("and"); var result = patt1.test(txt1); document.write("匹配結果: " + result); </script>