新聞中心
正則表達(dá)式(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE)使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串搜索模式。

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),成都網(wǎng)站設(shè)計(jì),一元廣告,成都做網(wǎng)站選創(chuàng)新互聯(lián),貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。
搜索模式可用于文本搜索和文本替換。
什么是正則表達(dá)式?
正則表達(dá)式是由一個字符序列形成的搜索模式。
當(dāng)你在文本中搜索數(shù)據(jù)時,你可以用搜索模式來描述你要查詢的內(nèi)容。
正則表達(dá)式可以是一個簡單的字符,或一個更復(fù)雜的模式。
正則表達(dá)式可用于所有文本搜索和文本替換的操作。
語法
實(shí)例:
var patt = /XWCX.NET/i
實(shí)例解析:
/XWCX.NET/i 是一個正則表達(dá)式。
XWCX.NET 是一個模式 (用于檢索)。
i 是一個修飾符 (搜索不區(qū)分大小寫)。
使用字符串方法
在 JavaScript 中,正則表達(dá)式通常用于兩個字符串方法 : search() 和 replace()。
search() 方法 用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串,并返回子字符串的起始位置。
replace() 方法 用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達(dá)式匹配的子字符串。
search() 方法使用正則表達(dá)式
實(shí)例
使用正則表達(dá)式搜索 "cdcxhl.com" 字符串,且不區(qū)分大小寫:
var str =
"Visit XWCX.NET";
var n = str.search(/XWCX.NET/i);
輸出結(jié)果為:
6
嘗試一下 ?
search() 方法使用字符串
search 方法可使用字符串作為參數(shù)。字符串參數(shù)會轉(zhuǎn)換為正則表達(dá)式:
實(shí)例
檢索字符串中 "cdcxhl.com" 的子字符串:
var str =
"Visit XWCX.NET!";
var n = str.search(
"cdcxhl.com");
嘗試一下 ?
replace() 方法使用正則表達(dá)式
實(shí)例
使用正則表達(dá)式且不區(qū)分大小寫將字符串中的 Microsoft 替換為 XWCX.NET :
var str =
"Visit Microsoft!";
var res = str.replace(/microsoft/i,
"cdcxhl.com");
結(jié)果輸出為:
Visit XWCX.NET!
嘗試一下 ?
replace() 方法使用字符串
replace() 方法將接收字符串作為參數(shù):
var str =
"Visit Microsoft!";
var res = str.replace(
"Microsoft",
"cdcxhl.com");
嘗試一下 ?
你注意到了嗎?
| 正則表達(dá)式參數(shù)可用在以上方法中 (替代字符串參數(shù))。 正則表達(dá)式使得搜索功能更加強(qiáng)大(如實(shí)例中不區(qū)分大小寫)。 |
正則表達(dá)式修飾符
修飾符 可以在全局搜索中不區(qū)分大小寫:
| 修飾符 | 描述 |
|---|---|
| i | 執(zhí)行對大小寫不敏感的匹配。 |
| g | 執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。 |
| m | 執(zhí)行多行匹配。 |
正則表達(dá)式模式
方括號用于查找某個范圍內(nèi)的字符:
| 表達(dá)式 | 描述 |
|---|---|
| [abc] | 查找方括號之間的任何字符。 |
| [0-9] | 查找任何從 0 至 9 的數(shù)字。 |
| (x|y) | 查找任何以 | 分隔的選項(xiàng)。 |
元字符是擁有特殊含義的字符:
| 元字符 | 描述 |
|---|---|
| \d | 查找數(shù)字。 |
| \s | 查找空白字符。 |
| \b | 匹配單詞邊界。 |
| \uxxxx | 查找以十六進(jìn)制數(shù) xxxx 規(guī)定的 Unicode 字符。 |
量詞:
| 量詞 | 描述 |
|---|---|
| n+ | 匹配任何包含至少一個 n 的字符串。 |
| n* | 匹配任何包含零個或多個 n 的字符串。 |
| n? | 匹配任何包含零個或一個 n 的字符串。 |
使用 RegExp 對象
在 JavaScript 中,RegExp 對象是一個預(yù)定義了屬性和方法的正則表達(dá)式對象。
使用 test()
test() 方法是一個正則表達(dá)式方法。
test() 方法用于檢測一個字符串是否匹配某個模式,如果字符串中含有匹配的文本,則返回 true,否則返回 false。
以下實(shí)例用于搜索字符串中的字符 "e":
實(shí)例
var patt = /e/;
patt.test(
"The best things in life are free!");
字符串中含有 "e",所以該實(shí)例輸出為:
true
嘗試一下 ?
你可以不用設(shè)置正則表達(dá)式的變量,以上兩行代碼可以合并為一行:
/e/.test(
"The best things in life are free!")
使用 exec()
exec() 方法是一個正則表達(dá)式方法。
exec() 方法用于檢索字符串中的正則表達(dá)式的匹配。
該函數(shù)返回一個數(shù)組,其中存放匹配的結(jié)果。如果未找到匹配,則返回值為 null。
以下實(shí)例用于搜索字符串中的字母 "e":
Example 1
/e/.exec(
"The best things in life are free!");
字符串中含有 "e",所以該實(shí)例輸出為:
e
嘗試一下 ?
使用 compile()
compile() 方法用于改變 RegExp。
compile() 既可以改變檢索模式,也可以添加或刪除第二個參數(shù)。
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
patt1.compile("d");
document.write(patt1.test("The best things in life are free"));
由于字符串中存在 "e",而沒有 "d",以上代碼的輸出是:
truefalse
完整的 RegExp 參考手冊
完整的 RegExp 對象參考手冊,請參考我們的 JavaScript RegExp 參考手冊。
該參考手冊包含了所有 RegExp 對象的方法和屬性。
如果你想知道有哪些JS常用的正則表達(dá)式,請參考 js 實(shí)戰(zhàn)手冊。
JavaScript正則表達(dá)式在線測試工具
JavaScript正則表達(dá)式在線測試工具
JavaScript 正則表達(dá)式學(xué)習(xí)導(dǎo)圖
新聞名稱:創(chuàng)新互聯(lián)JAVA教程:JavaScript正則表達(dá)式
網(wǎng)站URL:http://m.fisionsoft.com.cn/article/cocdpgs.html


咨詢
建站咨詢
