浅谈正则表达式

      我们在编写程序的过程中,正则表达式无疑起了很大的作用。在这里举几个小例子,介绍一下正则表达式的应用。

      首先看一下javascript正则表达式匹配字符:

1

例子说明:

1、匹配一连串空白字符

1:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
2:  <html xmlns="http://www.w3.org/1999/xhtml">   
3:  <head>   
4:  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
5:  <title>无标题文档</title>   
6:  <script language="javascript" type="text/javascript">   
7:  //^表示开头,即他后面的空格是开头,\s匹配空格字符,+表示一个或多个,这里即空格大于1的意思。$表示结尾字符  
8:  var reg=/^\s+$/g;   
9:  var score1="     ";  
10:  var score2="1   ";  
11:  var score3="  2";  
12:  //test函数表示是否符合匹配条件,返回boolean型数值  
13:  alert("score1是否符合条件:"+reg.test(score1)+"  score2是否符合条件:"+reg.test(score2)+"  score3是否符合条件:"+reg.test(score3));  
14:  </script>  
15:  </head>  
16:  <body>  
17:  </body>  
18:  </html>

运行结果:

image

即score1是符合匹配条件的,而后两个是不符合的。

2、匹配成绩:

1:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
2:  <html xmlns="http://www.w3.org/1999/xhtml">  
3:  <head>  
4:  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
5:  <title>无标题文档</title>   
6:  <script language="javascript" type="text/javascript">   
7:  //\d匹配数字,如有范围的话,如2~6之间,则表  
 8:  //示为\d(2,6);如大于2的话,则表示\d(2,);小于   
9:  //6的话,则为\d(,6);若是6个字符的话,则表示  
10:  //为\d(6). ?表示0个或1个字符,这里即表示开头  
11:  //是.后面有一个或多个数字的组合有0个或者1个  
12:  //。 +表示1个或者多个。 *表示0个或多个  
13:  var reg=/^\d+(\.\d+)?$/g;  
14:  var score1="1452";  
15:  var score2="54a52";  
16:  var score3="5 2";  
17:  //test函数表示是否符合匹配条件,返回boolean型数值  
18:  alert("score1是否符合条件:"+reg.test(score1)+"  score2是否符合条件:"+reg.test(score2)+"  score3是否符合条件:"+reg.test(score3));  
19:  </script>  
20:  </head>  
21:  <body>  
22:  </body>  
23:  </html>

运行结果为:

3

3、字符集[……]的应用

1:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    2:  <html xmlns="http://www.w3.org/1999/xhtml">    3:  <head>    4:  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    5:  <title>无标题文档</title>    6:  <script language="javascript" type="text/javascript">    7:  var reg=/g[^eo-]t/g;    8:  var str="get geot gat abo got goot geet"    9:  alert(str.match(reg));   10:  </script>   11:  </head>   12:  <body>   13:  </body>   14:  </html>

运行结果:

4

解释及扩展:【……】表示多选一。如【eo】即为或者为e或者为o的意思。而【^eo]则为一个都不选的意思。即既不能是e,又不能是o的意思。补充一点[a-z]表示字符从a到z中的任意一个。

//在正则里面是匹配式的符号。/^\w(3)$/gi  仅含有三个字符的字符串,其中gi是两个参数,g即global,是全局的意思。加上他,就会在所给的所有字符中进行查找,如没有,则只会查找一个。而i则是忽略大小写的意思。加上他a与A是没有区别的。

posted @ 2011-06-10 19:42  转航  阅读(213)  评论(0编辑  收藏  举报