正则表达式那些事儿(一)
前言:
有些同仁说正则表达式是火星文,是天书,能一下子读懂的那一大串 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