Javascript Regexp 简明教程

JavaScript RegExp - Quick Guide

JavaScript RegExp - Overview

正则表达式是一个对象,描述一个字符模式。

JavaScript RegExp 类表示正则表达式,并且 String 和 RegExp 都定义了使用正则表达式来对文本执行强大的模式匹配和搜索替换功能的方法。

Syntax

正则表达式可以用 RegExp () 构造函数定义,如下所示:

var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;

以下是参数说明 −

  1. pattern − 一个字符串,指定正则表达式的模式或另一个正则表达式。

  2. attributes − 一个可选字符串,包含任何表示全局、不区分大小写和多行匹配的“g”、“i”和“m”属性。

Example

以下示例演示了 RegExp 的用法,以检查字符串是否存在于给定的文本中。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );

         var result = re.test(str);
         document.write("Test 1 - returned value : " +  result);

         re = new RegExp( "pushing", "g" );

         var result = re.test(str);
         document.write("<br />Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : true
Test 2 - returned value : false

JavaScript RegExp - […​]

Description

[…​] 检查括号之间的任何一个字符是否出现在搜索字符串中。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : null
Test 2 - returned value : e,c,d

JavaScript RegExp - [^…​]

Description

[^…​] 检查括号内的任何一个字符是否不存在于被搜索字符串中。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[^abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : f,i,r,s,t
Test 2 - returned value : s,o,n

JavaScript RegExp - [0-9]

Description

[0-9] 匹配从 0 到 9 的任何十进制数字。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[0-9]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "2nd";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : null
Test 2 - returned value : 2

JavaScript RegExp - [a-z]

Description

[a-z] 匹配从小写 a 到小写 z 的任何字符。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[a-z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "Second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : f,i,r,s,t
Test 2 - returned value : e,c,o,n,d

JavaScript RegExp - [A-Z]

Description

[A-Z] 匹配从大写 A 到大写 Z 之间的任何字符。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first";
         var pattern = /[A-Z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "Second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : null
Test 2 - returned value : S

JavaScript RegExp - [a-zA-Z]

Description

[a-zA-Z] 匹配从小写 a 到大写 Z 之间的任何字符。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first1";
         var pattern = /[a-zA-Z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "Second2";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : f,i,r,s,t
Test 2 - returned value : S,e,c,o,n,d

JavaScript RegExp - p+

Description

p+ 匹配包含一个或多个 p 的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p+/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript RegExp - p*

Description

p* 匹配包含零个或多个 p 的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p*/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : ,,,pp,
Test 2 - returned value : ,,,

JavaScript RegExp - p?

Description

p? 匹配包含零个或多个 p 的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p?/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : ,,,p,p,
Test 2 - returned value : ,,,

JavaScript RegExp - p{N}

Description

p{N} 匹配包含 N 个 p 序列的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p{2}/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abcp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript RegExp - p{N1, N2}

Description

p{N1, N2} 匹配包含 N1 或 N2 个 p 的序列的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p{2,3}/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abcp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript RegExp - p{N,}

Description

p{N,} 匹配包含至少 N 个 p 的序列的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p{2,}/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abcp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : pp
Test 2 - returned value : null

JavaScript RegExp - p$

Description

p$ 匹配结尾包含 p 的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcpp";
         var pattern = /p$/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : p
Test 2 - returned value : null

JavaScript RegExp - ^p

Description

^p 匹配以 p 开头的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "pabc";
         var pattern = /^p/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : p
Test 2 - returned value : null

JavaScript RegExp - [^a-zA-Z]

Description

[^a-zA-Z] 匹配任何不包含范围从 a 到 z 和 A 到 Z 的字符的字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "1323pabc";
         var pattern = /[^a-zA-Z]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 1,3,2,3
Test 2 - returned value : null

JavaScript RegExp - p.p

Description

p.p 匹配包含 p 的任意字符串,后跟任意字符,然后依次后跟另一个 p。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "pap";
         var pattern = /p.p/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "pp";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : pap
Test 2 - returned value : null

JavaScript RegExp - ^.{2}$

Description

^.{2}$ 匹配包含恰好两个字符的任何字符串(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "pa";
         var pattern = /^.{2}$/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "pap";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : pa
Test 2 - returned value : null

JavaScript RegExp - <b>(.*)<\/b>

Description

<b>(.*)<\/b> 匹配包含在 <b> 和 </b> 中的任何字符串。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "<b>ab</b>";
         var pattern = /<b>(.*)<\/b>/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "pap";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : ab
Test 2 - returned value : null

JavaScript RegExp - p(hp)*

Description

p(hp)* 匹配包含 p,其后跟零个或多个 hp 序列实例的任何字符串(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "phphp";
         var pattern = /p(hp)*/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "pap";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : phphp
Test 2 - returned value : p,p

JavaScript RegExp - Alphanumeric

Description

字母数字匹配自身(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab1";
         var pattern = /abc/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : null
Test 2 - returned value : abc

JavaScript RegExp - \0

Description

\0 匹配 NUL 字符 (\u0000)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\0c";
         var pattern = /\0/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - \t

Description

\t 匹配制表符 (\u0009)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\tc";
         var pattern = /\t/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - \n

Description

\n 匹配换行符 (\u00A)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\nc";
         var pattern = /\n/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - \v

Description

\v 匹配垂直制表符字符 (\u00B)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\vc";
         var pattern = /\v/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - \f

Description

\f 匹配换页符 (\u00C)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\fc";
         var pattern = /\f/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - \r

Description

\r 匹配回车符 (\u00D)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\rc";
         var pattern = /\r/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - \xnn

Description

\xnn 匹配由十六进制数 nn 指定的拉丁字符;例如,\x0A 与 \n 相同。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\x0Ac";
         var pattern = /\x0A/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - \uxxxx

Description

\uxxxx 匹配十六进制数字 xxxx 指定的 Unicode 字符;例如,\u0009 与 \t 相同(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
		 var str = "ab\u0009c";
         var pattern = /\u0009/g;

         var index = str.search(pattern);
         document.write("Test 1 - returned value : " +  index);

         str = "abc";
         index = str.search(pattern);
         document.write("<br/>Test 2 - returned value : " +  index);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 2
Test 2 - returned value : -1

JavaScript RegExp - .

Description

  1. matches a single character.

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abc";
         var pattern = /./g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : a,b,c
Test 2 - returned value : null

JavaScript RegExp - \s

Description

\s 匹配一个空白字符(空格、制表符、换行符)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "ab c";
         var pattern = /\s/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value :
Test 2 - returned value : null

JavaScript RegExp - \S

Description

\S 匹配一个非空白字符(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "ab c";
         var pattern = /\S/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : a,b,c
Test 2 - returned value : null

JavaScript RegExp - \d

Description

\d 匹配一个数字 (0-9)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "ab123c";
         var pattern = /\d/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : 1,2,3
Test 2 - returned value : null

JavaScript RegExp - \D

Description

\D 匹配一个非数字(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "ab123c";
         var pattern = /\D/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : a,b,c
Test 2 - returned value : a,b,c

JavaScript RegExp - \w

Description

\w 匹配一个单词字符 (a-z, A-Z, 0-9, _)(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "ab123c_#@";
         var pattern = /\w/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc bcd";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : a,b,1,2,3,c,_
Test 2 - returned value : a,b,c,b,c,d

JavaScript RegExp - \W

Description

\w 匹配一个非单词字符(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "ab123c_#@";
         var pattern = /\W/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "abc bcd";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : #,@
Test 2 - returned value :

JavaScript RegExp - [aeiou]

Description

[aeiou] 可匹配给定集合中的一个字符。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first alphabet";
         var pattern = /[abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : a,a,b,e
Test 2 - returned value : e,c,d

JavaScript RegExp - [^aeiou]

Description

[^aeiou] 匹配给定集合之外的一个字符(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "first alphabet";
         var pattern = /[^abcde]/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "second";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : f,i,r,s,t, ,l,p,h,t
Test 2 - returned value : s,o,n

JavaScript RegExp - (foo|bar|baz)

Description

(foo|bar|baz) 匹配任何指定的选项(正则表达式)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "foo abc";
         var pattern = /(foo|bar|baz)/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         str = "bar baz";
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : foo
Test 2 - returned value : bar,baz

JavaScript RegExp - i

Description

i 执行不区分大小写的匹配。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcABC";
         var pattern = /[aeiou]/ig;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         pattern = /[aeiou]/g;
         result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : a,A
Test 2 - returned value : a

JavaScript RegExp - g

Description

g 执行全局匹配,即查找所有匹配项,而不是在找到第一个匹配项后停止(正则表达式选项)。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "abcabcabc";
         var pattern = /abc/g;

         var result = str.match(pattern);
         document.write("Test 1 - returned value : " +  result);

         pattern = /abc/;
		 result = str.match(pattern);
         document.write("<br/>Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : abc,abc,abc
Test 2 - returned value : abc

JavaScript RegExp - constructor

Description

返回对创建实例原型的数组函数的引用(JavaScript)。

Syntax

其语法如下:

RegExp.constructor

Return Value

返回创建此对象的实例的函数。

Example

以下示例显示了 RegExp 表达式的用法。

<html>
   <head>
      <title>JavaScript RegExp constructor Property</title>
   </head>

   <body>
      <script type = "text/javascript">
         var re = new RegExp( "string" );
         document.write("re.constructor is:" + re.constructor);
      </script>
   </body>
</html>

Output

re.constructor is: function RegExp() { [native code] }

JavaScript RegExp - global

Description

global 是 RegExp 对象的一个只读布尔属性。它指定特定正则表达式是否执行全局匹配,即它是否使用“g”属性创建的。

Syntax

其语法如下:

RegExpObject.global

Return Value

如果设置了“g”修饰符,则返回“TRUE”,否则返回“FALSE”。

Example

<html>
   <head>
      <title>JavaScript RegExp global Property</title>
   </head>

   <body>
      <script type = "text/javascript">
         var re = new RegExp( "string" );

         if ( re.global ) {
            document.write("Test1 - Global property is set");
         } else {
            document.write("Test1 - Global property is not set");
         }
         re = new RegExp( "string", "g" );

         if ( re.global ) {
            document.write("<br />Test2 - Global property is set");
         } else {
            document.write("<br />Test2 - Global property is not set");
         }
      </script>
   </body>
</html>

Output

Test1 - Global property is not set
Test2 - Global property is set

JavaScript RegExp - ignoreCase

Description

ignoreCase 是 RegExp 对象的只读布尔属性。它指定特定的正则表达式是否执行不区分大小写的匹配,即是否使用 “i” 属性创建的。

Syntax

其语法如下:

RegExpObject.ignoreCase

Return Value

如果设置了 “i” 修饰符,则返回 “TRUE”,否则返回 “FALSE”。

Example

<html>
   <head>
      <title>JavaScript RegExp ignoreCase Property</title>
   </head>

   <body>
      <script type = "text/javascript">
         var re = new RegExp( "string" );

         if ( re.ignoreCase ) {
            document.write("Test1-ignoreCase property is set");
         } else {
            document.write("Test1-ignoreCase property is not set");
         }
         re = new RegExp( "string", "i" );

         if ( re.ignoreCase ) {
            document.write("<br/>Test2-ignoreCase property is set");
         } else {
            document.write("<br/>Test2-ignoreCase property is not set");
         }
      </script>
   </body>
</html>

Output

Test1 - ignoreCase property is not set
Test2 - ignoreCase property is set

JavaScript RegExp - lastIndex

Description

lastIndex 是 RegExp 对象的读写属性。对于设置了“g”属性的正则表达式,它包含一个整数,该整数指定 RegExp.exec()RegExp.test() 方法找到的上次匹配之后立即出现的字符位置。这些方法使用此属性作为它们执行的下一个搜索的起点。

此属性允许您重复调用这些方法,以遍历字符串中的所有匹配,并且仅在设置了“g”修饰符时才起作用。

此属性为读/写,因此您可以在任何时候设置它以指定应在目标字符串中开始下一次搜索的位置。 exec()test() 在找不到匹配项(或另一匹配项)时会自动把 lastIndex 重置为 0。

Syntax

其语法如下:

RegExpObject.lastIndex

Return Value

返回一个整数,指定上一次匹配项紧跟之后字符的位置。

Example

<html>
   <head>
      <title>JavaScript RegExp lastIndex Property</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );

         re.test(str);
         document.write("Test 1 - Current Index: " +  re.lastIndex);

         re.test(str);
         document.write("<br />Test 2 - Current Index: " + re.lastIndex);
      </script>
   </body>
</html>

Output

Test 1 - Current Index: 10
Test 2 - Current Index: 35

JavaScript RegExp - multiline

Description

multiline 是 RegExp 对象的只读布尔属性。它指定特定的正则表达式是否执行多行匹配,即是否使用 “m” 属性创建的。

Syntax

其语法如下:

RegExpObject.multiline

Return Value

如果设置了 “m” 修饰符,则返回 “TRUE”,否则返回 “FALSE”。

Example

<html>
   <head>
      <title>JavaScript RegExp multiline Property</title>
   </head>

   <body>
      <script type = "text/javascript">
         var re = new RegExp( "string" );

         if ( re.multiline ) {
            document.write("Test1-multiline property is set");
         } else {
            document.write("Test1-multiline property is not set");
         }
         re = new RegExp( "string", "m" );

         if ( re.multiline ) {
            document.write("<br/>Test2-multiline property is set");
         } else {
            document.write("<br/>Test2-multiline property is not set");
         }
      </script>
   </body>
</html>

Output

Test1 - multiline property is not set
Test2 - multiline property is set

JavaScript RegExp - source

Description

source 是 RegExp 对象的只读字符串属性。它包含 RegExp 模式的文本。该文本不包括正则表达式文本中使用的定界斜杠,也不包括 “g”、“i” 和 “m” 属性。

Syntax

其语法如下:

RegExpObject.source

Return Value

返回用于模式匹配的文本。

Example

<html>
   <head>
      <title>JavaScript RegExp source Property</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );

         re.test(str);
         document.write("The regular expression is : " +  re.source);
      </script>
   </body>
</html>

Output

The regular expression is : script

JavaScript RegExp - exec

Description

exec 方法在 string 中搜索与 regexp 匹配的文本。如果找到匹配项,则返回结果数组;否则,返回 null。

Syntax

其语法如下:

RegExpObject.exec( string );

Parameter Details

*string *– 要搜索的字符串

Return Value

如果找到匹配项,则返回匹配的文本,否则返回 null。

Example

<html>
   <head>
      <title>JavaScript RegExp exec Method</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );

         var result = re.exec(str);
         document.write("Test 1 - returned value : " +  result);

         re = new RegExp( "pushing", "g" );

         var result = re.exec(str);
         document.write("<br />Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : script
Test 2 - returned value : null

JavaScript RegExp - test

Description

test 方法在 string 中搜索与 regexp 匹配的文本。如果找到匹配项,则返回 true;否则,返回 false。

Syntax

其语法如下:

RegExpObject.test( string );

Parameter Details

*string *– 要搜索的字符串

Return Value

如果找到匹配项,则返回匹配的文本,否则返回 null。

Example

<html>
   <head>
      <title>JavaScript RegExp test Method</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );

         var result = re.test(str);
         document.write("Test 1 - returned value : " +  result);

         re = new RegExp( "pushing", "g" );

         var result = re.test(str);
         document.write("<br />Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : true
Test 2 - returned value : false

JavaScript RegExp - toSource

Description

toSource 方法 string 表示对象的源代码。该方法不适用于所有浏览器。

此方法不适用于所有浏览器。

Syntax

其语法如下:

RegExpObject.toSource();

Return Value

返回表示对象源代码的字符串。

Example

请尝试以下范例程序。

<html>
   <head>
      <title>JavaScript RegExp toSource Method</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );

         var result = re.toSource(str);
         document.write("Test 1 - returned value : " +  result);

         re = new RegExp( "/", "g" );

         var result = re.toSource(str);
         document.write("<br />Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : /script/g
Test 2 - returned value : /\//g

JavaScript RegExp - toString

Description

toString 方法以正则表达式文本的形式返回正则表达式的字符串表示形式。

Syntax

其语法如下:

RegExpObject.toString();

Return Value

返回正则表达式的字符串表示形式。

Example

<html>

   <head>
      <title>JavaScript RegExp toString Method</title>
   </head>

   <body>
      <script type = "text/javascript">
         var str = "Javascript is an interesting scripting language";
         var re = new RegExp( "script", "g" );

         var result = re.toString(str);
         document.write("Test 1 - returned value : " +  result);

         re = new RegExp( "/", "g" );

         var result = re.toString(str);
         document.write("<br />Test 2 - returned value : " +  result);
      </script>
   </body>
</html>

Output

Test 1 - returned value : /script/g
Test 2 - returned value : /\//g