JavaScript 正则表达式 - 快速指南


JavaScript 正则表达式 - 概述

正则表达式是描述字符模式的对象。

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

句法

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

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

这是参数的描述 -

  • pattern - 指定正则表达式或另一个正则表达式的模式的字符串。

  • 属性- 包含任何“g”、“i”和“m”属性的可选字符串,分别指定全局匹配、不区分大小写和多行匹配。

例子

以下示例显示了使用 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>

输出

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

JavaScript 正则表达式 - [...]

描述

[...] 检查搜索字符串中是否存在括号之间的任何一个字符。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [^...]

描述

[^...] 检查括号之间的任何一个字符是否不存在于搜索的字符串中。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [0-9]

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [az]

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [AZ]

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [a-zA-Z]

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p+

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p*

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p?

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p{N}

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p{N1, N2}

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p{N,}

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p$

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - ^p

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [^a-zA-Z]

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - pp

描述

pp 匹配包含 p 的任何字符串,后跟任何字符,然后再跟另一个 p。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - ^.{2}$

描述

^.{2}$ 匹配任何包含两个字符的字符串。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - <b>(.*)<\/b>

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - p(hp)*

描述

p(hp)* 匹配包含 ap 后跟零个或多个序列 hp 实例的任何字符串。

例子

以下示例显示了 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>

输出

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

JavaScript RegExp - 字母数字

描述

字母数字与自身匹配。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \0

描述

\0 匹配 NUL 字符 (\u0000)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \t

描述

\t 匹配制表符 (\u0009)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \n

描述

\n 匹配换行符 (\u00A)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \v

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \f

描述

\f 匹配换页符 (\u00C)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \r

描述

\r 匹配回车符 (\u00D)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \xnn

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \uxxxx

描述

\uxxxx 匹配十六进制数 xxxx 指定的 Unicode 字符;例如,\u0009 与\t 相同。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - .

描述

。匹配单个字符。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \s

描述

\s 匹配空白字符(空格、制表符、换行符)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \S

描述

\S 匹配非空白字符。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \d

描述

\d 匹配数字 (0-9)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \D

描述

\D 匹配非数字。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \w

描述

\w 匹配单词字符(az、AZ、0-9、_)。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - \W

描述

\w 匹配非单词字符。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [aeiou]

描述

[aeiou] 匹配给定集中的单个字符。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - [^aeiou]

描述

[^aeiou] 匹配给定集合之外的单个字符。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - (foo|bar|baz)

描述

(foo|bar|baz) 匹配任何指定的替代项。

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - i

描述

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - g

描述

g 执行全局匹配,即查找所有匹配项而不是在第一个匹配项后停止。

例子

以下示例显示了 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>

输出

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

JavaScript RegExp - 构造函数

描述

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

句法

其语法如下 -

RegExp.constructor

返回值

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

例子

以下示例显示了 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>

输出

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

JavaScript 正则表达式 - 全局

描述

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

句法

其语法如下 -

RegExpObject.global

返回值

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

例子

<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>

输出

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

JavaScript 正则表达式 - 忽略大小写

描述

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

句法

其语法如下 -

RegExpObject.ignoreCase

返回值

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

例子

<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>

输出

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

JavaScript 正则表达式 - LastIndex

描述

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

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

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

句法

其语法如下 -

RegExpObject.lastIndex

返回值

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

例子

<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>

输出

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

JavaScript RegExp - 多行

描述

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

句法

其语法如下 -

RegExpObject.multiline

返回值

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

例子

<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>

输出

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

JavaScript 正则表达式 - 源

描述

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

句法

其语法如下 -

RegExpObject.source

返回值

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

例子

<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>

输出

The regular expression is : script 

JavaScript 正则表达式 - 执行

描述

exec方法字符串中搜索与正则表达式匹配的文本。如果找到匹配项,则返回结果数组;否则,返回 null。

句法

其语法如下 -

RegExpObject.exec( string );

参数详情

string - 要搜索的字符串

返回值

如果找到匹配则返回匹配的文本,如果没有则返回 null。

例子

<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>

输出

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

JavaScript 正则表达式 - 测试

描述

测试方法在字符串中搜索与正则表达式匹配的文本如果找到匹配,则返回 true;否则,返回 false。

句法

其语法如下 -

RegExpObject.test( string );

参数详情

string - 要搜索的字符串

返回值

如果找到匹配则返回匹配的文本,如果没有则返回 null。

例子

<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>

输出

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

JavaScript 正则表达式 - toSource

描述

toSource方法字符串表示对象的源代码。此方法并不适用于所有浏览器。

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

句法

其语法如下 -

RegExpObject.toSource();

返回值

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

例子

尝试以下示例程序。

<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>

输出

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

JavaScript 正则表达式 - toString

描述

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

句法

其语法如下 -

RegExpObject.toString();

返回值

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

例子

<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>

输出

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