JavaScript RegExp 物件



RegExp:是正規表示式(regular expression)的簡寫。


完整 RegExp 物件參考手冊

請查看我們的  JavaScript RegExp 物件的參考手冊,其中提供了可以與字串物件一同使用的所有的屬性和方法。

這個手冊包含的關於每個屬性和方法的用法的詳細描述和實例。


什麼是 RegExp?

正規表示式描述了字元的模式物件。

當您檢索某個文字時,可以使用一種模式來描述要檢索的內容。 RegExp 就是這種模式。

簡單的模式可以是一個單獨的字元。

更複雜的模式包括了更多的字符,並可用於解析、格式檢查、替換等等。

您可以規定字串中的檢索位置,以及要檢索的字元類型,等等。

語法

var patt=new RegExp(pattern,modifiers);

#或更簡單的方法

var patt=/pattern/ modifiers;
  • 模式描述了一個表達式模型。

  • 修飾詞(modifiers)描述了檢索是否是全域,區分大小寫等。

注意:當使用建構子建立正規物件時,需要常規的字元轉義規則(在前面加反斜線 \)。例如,以下是等價的:

var re = new RegExp("\w+");
var re = /\w+/;

RegExp 修飾符

修飾符用於執行不區分大小寫和全文的搜尋。

i - 修飾符是用來執行不區分大小寫的匹配。

g - 修飾符是用來執行全文的搜尋(而不是在找到第一個就停止尋找,而是找到所有的匹配)。

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
var str = "Visit php.cn";
var patt1 = /php.cn/i;
document.write(str.match(patt1));
</script>

</body>
</html>

運行實例»

點擊"運行實例" 按鈕查看線上實例


實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
var str="Is this all there is?";
var patt1=/is/g;
document.write(str.match(patt1));
</script>

</body>
</html>

運行實例»

點擊"運行實例" 按鈕查看線上實例

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
var str="Is this all there is?";
var patt1=/is/gi;
document.write(str.match(patt1));
</script>

</body>
</html>

運行實例»

#點擊"運行實例" 按鈕查看線上實例



test()

test()方法搜尋字串指定的值,根據結果並傳回真或假。

下面的範例是從字串中搜尋字元"e" :

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(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>

##執行實例»點擊"運行實例" 按鈕查看線上實例

當使用建構函式創造正規物件時,需要常規的字元轉義規則(在前面加反斜線\)

實例

##
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
var str = 'php';
var patt1 = new RegExp('\w', 'g'); // 有转义作为正则表达式处理
var patt2 = new RegExp('\w', 'g');  // 无转义作为字符串处理
var patt3 =/\w+/g;  // 与 patt1 效果相同
document.write(patt1.test(str)) //输出 true
document.write("<br>") 
document.write(patt2.test(str)) //输出 false
document.write("<br>") 
document.write(patt3.test(str)) //输出 true
</script>

</body>
</html>

運行實例»點擊"運行實例"按鈕查看線上實例



#exec()

exec() 方法檢索字串中的指定值。傳回值是被找到的值。如果沒有發現匹配,則傳回 null。

下面的範例是從字串中搜尋字元"e" :

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(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>
##執行實例»
點擊"運行實例" 按鈕查看線上實例


#