正则表达式那些事儿(一)

前言:

有些同仁说正则表达式是火星文,是天书,能一下子读懂的那一大串 var reg = /\w[^a-z]?+/g;这什么玩意儿的,要么神,要么不是人。。。

暂且不管这一串是什么玩意儿,我们可以想想正则表达式是什么一个东东,其实它就是js中的一个对象 RegExp() 。

果断访问度娘知道,搜索“正则表达式”可知:正则表达式,又称正规表示法常规表示法,来描述、匹配一系列符合某个句法规则的字符串,被用来检索、替换那些符合某个模式的文本。

简单说,就是定义一些规则来过滤、匹配字符串。那这其中有哪些语法规则呢?接着看下面吧。

 

关于字符串的相关操作:

js中常用的字符串操作大致有下列方法:

  • charAt() 返回在指定位置的字符
  • indexOf() 检索字符串
  • match() 找到一个或多个正则表达式的匹配
  • replace() 替换与正则表达式匹配的子串
  • search() 检索与正则表达式相匹配的值
  • split() 把字符串分割为字符串数组
  • substring() 提取字符串中两个指定的索引号之间的字符

 

如何定义正则表达式:

1 var reg = new RegExp('a');  // js定义法
2 var reg = /a/;         // perl定义法

我们需要匹配的规则是写在这儿:new RegExp('写在这儿') 或者写在这儿:/写在这儿/;

代码一:查找字母 'a' 

 1 <!doctype html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 </head>
 6 <body>
 7 <script>
 8 window.onload = function(){
 9     var str = 'abcefd';
10     var reg = /a/;
11     alert(str.match(reg));
12     alert(reg.test(str));
13     str = str.replace(reg,'A');
14     alert(str);
15 }
16 </script>
17 </body>
18 </html>

》简单分析

上面的代码中演示了如何定义一个正则表达式,其中:

var reg = /a/; 的含义就是 查找字母 'a'。我们可以举一反三,定义 reg = /ab/; 定义 reg = /abc/; 等等。

对照着上文中字符串的常用操作方法,就完成了我们第一个案例,哈。。。正则表达式的旅程刚刚开始。

大家需要注意的是,js是对字母大小写敏感的,对于字符串大小写的过滤区分,将在下文中提及。

 

【未完】

参考手册:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

 

posted @ 2014-04-17 11:56  勤劳的码农  阅读(270)  评论(0编辑  收藏  举报