正則運算式是構成搜索模式的字符序列,
該搜索模式可用于文本搜索和文本替換操作,
什么是正則運算式?
正則運算式是構成搜索模式(search pattern)的字符序列,
當您搜索文本中的資料時,您可使用搜索模式來描述您搜索的內容,
正則運算式可以是單字符,或者更復雜的模式,
正則運算式可用于執行所有型別的文本搜索和文本替換操作,
語法
/pattern/modifiers;
實體
var patt = /Sysoft/i;
例子解釋:
/sysoft/i 是一個正則運算式,
sysoft是模式(pattern)(在搜索中使用),
i 是修飾符(把搜索修改為大小寫不敏感),
使用字串方法
在 JavaScript 中,正則運算式常用于兩個字串方法:search() 和 replace(),
search() 方法使用運算式來搜索匹配,然后回傳匹配的位置,
replace() 方法回傳模式被替換處修改后的字串,
使用字串方法 search() 來處理字串
search() 方法也接受字串作為搜索引數,字串引數將被轉換為正則運算式:
實體
使用字串來執行對 "sysoft" 的搜索:
var str = "Visit sysoft!"; var n = str.search("sysoft");
在字串方法 search() 中使用正則運算式
實體
使用正則運算式執行搜索字串中 "sysoft" 的大小寫不敏感的搜索:
var str = "Visit sysoft"; var n = str.search(/sysoft/i);
n 中的結果將是:
6
親自試一試
使用字串方法 replace() 處理字串
replace() 也接受字串作為搜索引數:
var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "sysoft");
親自試一試
在字串方法 replace() 中使用正則運算式
實體
使用大小寫不明的正則運算式以 sysoft 來替換字串中的 Microsoft:
var str = "Visit Microsoft!"; var res = str.replace(/microsoft/i, "sysoft");
res 的結果將是:
Visit sysoft!
您注意到了嗎?
正則運算式引數(而不是字串引數)可以在上面的方法中使用,
正則運算式可以使您的搜索更強大(例如,不區分大小寫),
正則運算式修飾符
修飾符可用于大小寫不敏感的更全域的搜素:
正則運算式模式
括號用于查找一定范圍的字串:
| 運算式 | 描述 | |
|---|---|---|
| [abc] | 查找方括號之間的任何字符, | |
| [0-9] | 查找任何從 0 至 9 的數字, | |
| (x|y) | 查找由 | 分隔的任何選項, |
元字符(Metacharacter)是擁有特殊含義的字符:
| 元字符 | 描述 | |
|---|---|---|
| \d | 查找數字, | |
| \s | 查找空白字符, | |
| \b | 匹配單詞邊界, | |
| \uxxxx | 查找以十六進制數 xxxx 規定的 Unicode 字符, |
Quantifiers 定義量詞:
| 量詞 | 描述 | |
|---|---|---|
| n+ | 匹配任何包含至少一個 n 的字串, | |
| n* | 匹配任何包含零個或多個 n 的字串, | |
| n? | 匹配任何包含零個或一個 n 的字串, |
使用 RegExp 物件
在 JavaScript 中,RegExp 物件是帶有預定義屬性和方法的正則運算式物件,
使用 test()
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()
exec() 方法是一個正則運算式方法,
它通過指定的模式(pattern)搜索字串,并回傳已找到的文本,
如果未找到匹配,則回傳 null,
下面的例子搜索字串中的字符 "e":
實體
/e/.exec("The best things in life are free!");
由于字串中有一個 "e",以上代碼的輸出將是:
e
----------------------------------------------------------------------------------------------------------------------------------
文章來源:www.sysoft.net.cn,加v:15844800162深度交流
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/162497.html
標籤:JavaScript
上一篇:原生JS內置物件的字串操作習題
下一篇:vue-practice
