亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

JavaScript 正則表達(dá)式

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

搜索模式可用于文本搜索和文本替換。


什么是正則表達(dá)式?

正則表達(dá)式是由一個(gè)字符序列形成的搜索模式。

當(dāng)你在文本中搜索數(shù)據(jù)時(shí),你可以用搜索模式來(lái)描述你要查詢的內(nèi)容。

正則表達(dá)式可以是一個(gè)簡(jiǎn)單的字符,或一個(gè)更復(fù)雜的模式。

正則表達(dá)式可用于所有文本搜索和文本替換的操作。

語(yǔ)法

/pattern/modifiers;

實(shí)例:

var patt = /phpl/i

實(shí)例解析:

/php/i  是一個(gè)正則表達(dá)式。

php  是一個(gè)模式 (用于檢索)。

i  是一個(gè)修飾符 (搜索不區(qū)分大小寫)。


使用字符串方法

在 JavaScript 中,正則表達(dá)式通常用于兩個(gè)字符串方法 : search() 和 replace()。

search() 方法 用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。


search() 方法使用正則表達(dá)式

實(shí)例

使用正則表達(dá)式搜索 "php.cn" 字符串,且不區(qū)分大小寫:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文網(wǎng)(php.cn)</title>
</head>
<body>
<p>搜索字符串 "php.cn", 并顯示匹配的起始位置:</p>
<button onclick="myFunction()">點(diǎn)我</button>
<p id="demo"></p>
<script>
    function myFunction() {
        var str = "Visit php.cn!";
        var n = str.search(/php.cn/i);
        document.getElementById("demo").innerHTML = n;
    }
</script>
</body>
</html>

運(yùn)行程序嘗試一下


search() 方法使用字符串

search 方法可使用字符串作為參數(shù)。字符串參數(shù)會(huì)轉(zhuǎn)換為正則表達(dá)式:

實(shí)例

檢索字符串中 "php.cn" 的子串:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文網(wǎng)(php.cn)</title>
</head>
<body>
<p>搜索字符串 "php.cn", 并顯示匹配的起始位置:</p>
<button onclick="myFunction()">點(diǎn)我</button>
<p id="demo"></p>
<script>
    function myFunction() {
        var str = "Visit php.cn!";
        var n = str.search("php.cn");
        document.getElementById("demo").innerHTML = n;
    }
</script>
</body>
</html>

運(yùn)行程序嘗試一下


replace() 方法使用正則表達(dá)式

實(shí)例

使用正則表達(dá)式且不區(qū)分大小寫將字符串中的 Microsoft 替換為 php.cn :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文網(wǎng)(php.cn)</title>
</head>
<body>
<p>替換 "microsoft" 為 "php.cn" :</p>
<button onclick="myFunction()">點(diǎn)我</button>
<p id="demo">請(qǐng)?jiān)L問(wèn) Microsoft!</p>
<script>
    function myFunction() {
        var str = document.getElementById("demo").innerHTML;
        var txt = str.replace(/microsoft/i,"php.cn");
        document.getElementById("demo").innerHTML = txt;
    }
</script>
</body>
</html>

運(yùn)行程序嘗試一下


replace() 方法使用字符串

replace() 方法將接收字符串作為參數(shù):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PHP中文網(wǎng)(php.cn)</title>
</head>
<body>
<p>替換 "Microsoft" 為 "php.cn" :</p>
<button onclick="myFunction()">點(diǎn)我</button>
<p id="demo">請(qǐng)?jiān)L問(wèn) Microsoft!</p>
<script>
function myFunction() {
    var str = document.getElementById("demo").innerHTML; 
    var txt = str.replace("Microsoft","php.cn");
    document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>

運(yùn)行程序嘗試一下


提示:

正則表達(dá)式參數(shù)可用在以上方法中 (替代字符串參數(shù))。
正則表達(dá)式使得搜索功能更加強(qiáng)大(如實(shí)例中不區(qū)分大小寫)。    


正則表達(dá)式修飾符

修飾符 可以在全局搜索中不區(qū)分大小寫:

修飾符描述
i執(zhí)行對(duì)大小寫不敏感的匹配。
g執(zhí)行全局匹配(查找所有匹配而非在找到第一個(gè)匹配后停止)。
m執(zhí)行多行匹配。

正則表達(dá)式模式

方括號(hào)用于查找某個(gè)范圍內(nèi)的字符:

表達(dá)式描述
[abc]查找方括號(hào)之間的任何字符。
[0-9]查找任何從 0 至 9 的數(shù)字。
(x|y)查找任何以 | 分隔的選項(xiàng)。

元字符是擁有特殊含義的字符:

元字符描述
\d查找數(shù)字。
\s查找空白字符。
\b匹配單詞邊界。
\uxxxx查找以十六進(jìn)制數(shù) xxxx 規(guī)定的 Unicode 字符。

量詞:

量詞描述
n+匹配任何包含至少一個(gè) n 的字符串。
n*匹配任何包含零個(gè)或多個(gè) n 的字符串。
n?匹配任何包含零個(gè)或一個(gè) n 的字符串。

使用 RegExp 對(duì)象

在 JavaScript 中,RegExp 對(duì)象是一個(gè)預(yù)定義了屬性和方法的正則表達(dá)式對(duì)象。


使用 test()

test() 方法是一個(gè)正則表達(dá)式方法。

test() 方法用于檢測(cè)一個(gè)字符串是否匹配某個(gè)模式,如果字符串中含有匹配的文本,則返回 true,否則返回 false。

以下實(shí)例用于搜索字符串中的字符 "e":

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文網(wǎng)(php.cn)</title>
</head>
<body>
<script>
    var patt1=new RegExp("e");
    document.write(patt1.test("The best things in life are free"));
</script>
</body>
</html>

運(yùn)行程序嘗試一下


可以不用設(shè)置正則表達(dá)式的變量,以上兩行代碼可以合并為一行:

/e/.test("The best things in life are free!")


使用 exec()

exec() 方法是一個(gè)正則表達(dá)式方法。

exec() 方法用于檢索字符串中的正則表達(dá)式的匹配。

該函數(shù)返回一個(gè)數(shù)組,其中存放匹配的結(jié)果。如果未找到匹配,則返回值為 null。

以下實(shí)例用于搜索字符串中的字母 "e":

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文網(wǎng)(php.cn)</title>
</head>
<body>
<script>
    var patt1=new RegExp("e");
    document.write(patt1.exec("The best things in life are free"));
</script>
</body>
</html>

運(yùn)行程序嘗試一下



Weiter lernen
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文網(wǎng)(php.cn)</title> </head> <body> <p>搜索字符串 "php.cn", 并顯示匹配的起始位置:</p> <button onclick="myFunction()">點(diǎn)我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php.cn!"; var n = str.search(/php.cn/i); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
einreichenCode zurücksetzen