《Javascript编程精讲》学习笔记-javascript正则表达式

文章标签: javascript,正则表达式
2015-1-20 11:33:15     9 人阅读    

我每学一门语言就会学一遍正则表达式,而且都是相同的,java、php、C#都如出一辙,没办法都只是草草的看过也没太多的实践,下面的部分就当复习复习吧。
1. “zhangran”.search(/r/);  -> 5
2.var slash = / \ / /;
  "zhang/ran".search(slash); ->5   文本中间的‘/’需要转义
3. “zhangran”.search(/[zOS]/); -> 0     字符串中只要符合[]中的任意一个字符就行
4. \d 任意数字;\w 指的是[A-Za-z_0-9]就是中括号中的几类字符中的任意一种。 \s 任意的空字符     这三个换做大写 \D \W \S 都表示相反的意思    '.' 这个点是比较常用的了,表示非换行符。
5. ^ 用在[]中时作用是取反,用在[]之外时作用是以此开头,对应的$指以此结尾
6. \b 指的是单词的边界,不光hello world中间的空格视为边界,hello,world中间的','也视为边界。
7. * 重复0次或者1次及以上 +至少要匹配1次 ?匹配0次或者1次
8. {} 里面制定要重复的次数。/a{2,}/ a要重复2次或者2次以上。
9. 如果想给某一组指定重复次数,就要配合()。
var name = /xiao(qiang)+/i;
name.test("xiaoqiangqiang");  ->true 后面的i是不区分大小写
10. ( | ) 括号中的部分2选1。
var name = /(small|big) (dog|pig)/;
name.test("small dog"); ->true 此处测试small pig,big dog,big pig都能匹配
11. match()函数,正则表达式作为参数,符合条件的以数组的形式返回。
“helloworld”.match(/hello/); ->["hello"];
"hello world".match(/hello (world)/); -> ["hello world","world"]  如果有(),会把里面的部分再次加在数组的后面。
12. "hellonihao,nihao".replace(/nihao/g,world); -> helloworld,world     g的作用是替换所有的匹配值,不加则只会匹配第一个。
13. var names = "zhang, san\nLi, Si\nWang,Wu";
 names.replace(/([\w]+), ([\w]+)/g,"$2 $1");  -> san zhang\nSi Li\nWu Wang   $代表的是()部分,让其位置交换 另外输出是没有‘,’  【注】另外replace有一个特别牛X的功能:当replace()括号中第二个参数不是字符串而改为函数的时候,则会将匹配后的地方换做函数的返回值:"zhang".replace(/\d/,function(str){retrun str.toUpCase();})  结果是ZHANG。


原文地址:http://www.itmmd.com/201501/525.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

CentOS6 安装PostgreSQL9.1 详细步骤   上一篇
下一篇  《Javascript编程精讲》学习笔记-之 面向对象编程

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!