码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2014-10-17 18:16:30      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   ar   使用   java   sp   

正则表达式

脑子欠抽,对于正则表达式一直看了又忘,看了又忘,还是记录下来一些较常用的东西,方便以后查阅的好。

1 \b : 匹配一个位置,用来区分单词边界,\bhi\b 可以匹配单词hi,\b为边界符
2 .* 表示出了换行符意外的任意字符,并且可以重复任意多个,\bhi\b.*\bhello\b 匹配hi abcdefb hello
3 \d表示数字,重复次数可以用大括号括起来 0\d{2}-\d{8}
4 \s匹配任意的空白符
5 \w匹配字符或数字或下划线或汉字等 \ba\w*\b
6 \d+ 表示1个或者更多连续的数字,和*类似,但*可能是0,而+则至少有1个, \bw{6}\b, ?表示出现一次或者不出现
7 ^匹配开头,$匹配结尾,例如验证QQ号位数 ^\d{5,12}$
8 \\字符串转义, \*和 \.等
9 [aeiou] 中括号来匹配字符集 [.?!]或者[0-9]等价于\d, [a-z0-9A-Z]等价于\w(只考虑英文的话)
10 复杂例子 \(?0\d{2}[)-]?\d{8} 可拆分为 \(?--0--\d{2}--[)-]?--\d{8}
11 | 分支条件 \d{5}-\d{4}|\d{5}匹配美国的邮政编码,5位数字或者用连字号间隔的9位数字,注意与\d{5}|\d{5}-\d{4}的区别
12 () 分组,用()分了组之后,你就可以利用{}指定这个分组的重复次数了 (\d{1,3}\.){3}\d{1,3}
13 反义 \W表示非字符数字下划线汉字的字符  

1 \S表示非空白符的字符
2 \D表示非数字的字符
3 \B表示不是单词开头或结束的位置
4 [^x]中的^类似!的作用,表示非,这里匹配除了x意外的任意字符
5 [^aeiou]匹配除了aeiou意外的任意字符
6 <a[^>]+>匹配用尖括号括起来的以a开头的字符串

 

14 exec方法:

1 function execReg(reg, str) {
2 
3   var result = reg.exec(str);
4   alert(typeof result);
5 }
6 var reg = /(\w)(\w)(.+)/; 
7 var str = ‘bbs.bblueidea.com‘;
8 execReg(reg,str);

结果为:

1 result[0]:bbs.bblueidea.com
2 result[1]:b
3 result[2]:b
4 result[3]:s.bblueidea.com

由上面例子可见,返回对象[0]就是整个正则表达式所匹配的内容。后续的元素则是各个子正则表达式的匹配内容。


15.test方法: /abc/.test(‘abcd‘) 返回true


16 g, i, m: g表示全局匹配,i表示忽略大小写,m表示多行匹配,‘abcabc‘.match(/ab/)将返回["ab"];
‘abcabc‘.match(/ab/g)将返回["ab","ab"];


17 replace方法:‘bbs.baidu.com‘.replace(/b/g, ‘c‘);在replace函数中使用$引用子正则表达式匹配内容,例如:
var a = ‘haha hoho‘.replace(/(\w+)\s(\w+)/, ‘$2 $1‘);
结果为: a=‘hoho haha‘;
由于$的特殊含义,所以如果希望使用$这个字符的话需要写成$$,
var a = ‘haha hoho‘.replace(/(\w+)\s(\w+)/, ‘$$ $$‘);
结果为: a=‘$ $‘;


18.search方法,str.search(reg)返回第一次匹配的位置;


19.split方法,str.split(reg, ‘seprator‘)返回分割后的数组

 

整理参考:30分钟正则表达式  javascript正则表达式函数详解

正则表达式

标签:style   blog   http   color   io   ar   使用   java   sp   

原文地址:http://www.cnblogs.com/moyiqing/p/regexp.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!