`
kongxiantao
  • 浏览: 108434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript 正则表达式 整理

阅读更多

一直以来知到正则表达式很强大,想狠下心来学一学,前段时间为此买了本《精通正则表达式》,花了不少大洋。买回来看了不到200页,太浮躁了,看不进去啊,书是好书,就这样一直放着。

看JQuery源码也不少时间了,可对那几个正则表达式不是很理解,就今天,太好了,找了一篇文章,终于有种醍醐灌顶的感觉。好东西不敢独享,呵呵,下面是把那文章稍作整理,稍后再分析JQuery里面的正则表达式,以作复习。

原文地址:http://www.cainiao8.com/web/js_note/js_regular_expression.html

 

1.

c{n}         // /c{1}/只能匹配一个c。

c{n,m}     // c{3,4}的意思是,连续的3个c或者4个c

c{n,}        // c{1,}表示1个以上的c

 

2.

*,+,?

*表示0次或者多次,等同于{0,},即

c* 和 c{0,} 是一个意思。

+表示一次或者多次,等同于{1,},即

c+ 和 c{1,} 是一个意思。

最后,?表示0次或者1次,等同于{0,1},即

c? 和 c{0,1} 是一个意思。

 

3.贪心与非贪心

 

{n,}?, *?, +?, ??, {m,n}?

 

{n,}?  非贪心模式

 

4.^表示只匹配字符串的开头,$则只匹配字符串结尾的字符

 

5.‘.’会匹配字符串中除了换行符\n之外的所有字符

 

6. b|c表示,匹配b或者c

 

7. () 表达式内括号里写的内容会被认为是子正则表达式,所匹配的结果也会被记录下来供后面使用

8. [abc]表示a或者b或者c中的任意一个字符

 

9. 反字符集合[^abc]

10. \b表示的边界的意思,也就是说,只有字符串的开头和结尾才算数,与\b对应\B表示非边界

 

11.  \d表示数字的意思,相反,\D表示非数字。

 

12. 空白

 

\f匹配换页符,\n匹配换行符,\r匹配回车,\t匹配制表符,\v匹配垂直制表符。

\s匹配单个空格,等同于[\f\n\r\t\v]。

 

 

13. \w表示单词字符,等同于字符集合[a-zA-Z0-9_]。

 

14. 反向引用 : 形式如下:/(子正则表达式)\1/

 

15. 不记录子正则表达式的匹配结果 : 使用形如(?:pattern)的正则就可以避免保存括号内的匹配结果

 

16.  所谓正向预查,意思就是:要匹配的字符串,后面必须紧跟着pattern   。 形式:(?=pattern)

17.  形式(?!pattern)和?=恰好相反,要求字符串的后面不能紧跟着某个pattern

 

18.  我们之前用过*,+,?之类的符号,它们在正则表达式中都有一定的特殊含义,类似这些有特殊功能的字符都叫做元字符;要匹配其他元字符,只要在前面加上一个“\”就可以了。

 

19. 正则表达式修饰 : 形式:/pattern/g      

g 全局  

m m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾  

 i 不区分大小写

 

 

20.exect()方法:

 

exec方法返回的其实并不是匹配结果字符串,而是一个对象

 

21. test() 方法:

 

test方法仅仅检查是否能够匹配str,并且返回布尔值以表示是否成功

 

22. macth() 方法:

 

形式:str.match(reg);

与正则表达式的exec方法类似,该方法同样返回一个类似数组的对象,也有input和index属性。

设置了g修饰符的正则表达式在完成一次成功匹配后不会停止,而是继续找到所有可以匹配到的字符。返回的结果包括了三个b。不过没有提供input和index这些信息

 

 

23. replace()方法

 

形式:str. replace (reg,’new str’);

它的作用是将str字符串中匹配reg的部分用’’new str”部分代码,值得注意的是原字符串并不会被修改,而是作为返回值被返回

 

 

就像在正则里我们可以使用\1来引用第一个子正则表达式所匹配的内容一样,我们在replace函数的替换字符里也可以使用$1来引用相同的内容

 

24. search方法和split方法

 

形式如下:str.search(reg);

search返回正则表达式第一次匹配的位置

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Javascript正则表达式教程

    网上看到的一篇介绍Javascript正则表达式的文章,感觉非常不错,整理了一下导出成PDF,有兴趣的看一下。文章属于转载,文档中注明了出处。

    javascript经典正则表达式 (收藏整理)-javescript教程

    javascript经典正则表达式 (收藏整理)-javescript教程

    JavaScript正则表达式使用详解

    该手册是我从网上搜集整理的一些有关正则表达式的材料,其详细介绍了正则表达式的功能和作用,表现形式,各种有关元字符的使用,以及各种实例代码,对新手是很好的学习材料,对老手也可以作为很有价值的参考.

    javascript正则表达式容易被忽略的小问题整理.docx

    javascript正则表达式容易被忽略的小问题整理.docx

    C# 最全的日期正则表达式,没有之一

    考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。 ^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2...

    正则表达式全集(很适用的)

    正则表达式是写javascript的判断的最好的方法,特别是数字,日期判断,这里我已经把所有的正则表达是全都整理出来了,如有需要的就来下载吧

    Javascript正则表达式

    个人整理的一份javascript正则表达式,有需要的朋友可以下载

    JavaScript正则表达式

    JavaScript正则表达式 减小字体 增大字体 作者:佚名 来源:本站整理 发布时间:2005-7-1 4:13:10 正则表达式是一个描述字符模式的对象。 JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式...

    13道关于JavaScript正则表达式的面试题

    本文是小编给大家收藏整理的13道关于JavaScript正则表达式的面试题,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

    JavaScript 正则表达式 验证整数、小数、实数、有效位小数最简单

    说明:IE6.0、IE7.0、IE8.0、Firefox/3.0.11下测试通过 验证数字最简单正则表达式大全 输入完按回车后即可验证!... 您可能感兴趣的文章:JS正则表达式大全(整理详细且实用)javascript 手机号码正则表

    理解javascript正则表达式

    关于正则表达式中各种特殊字符(如 \,^,$,\w,\b 等)的含义可以参考 MDN 正则表达式-特殊字符 的整理。这里我们简单介绍一下向前查找和反向引用。 向前查找:正则表达式向前使用一些字符而不移动这些字符的位置,...

    JavaScript正则表达式(总结篇)

    本文是小编参考其他有关js正则表达式资料整理的,主要目的有两个:一:自我复习归纳总结。二:共享方便大家搜索。js正则表达式感兴趣的朋友可以一起学习

    15个常用的javaScript正则表达式(收藏)

    本文是小编收集整理的15个常用的javascript正则表达式,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    javascript高级程序设计(第三版)学习笔记(一) 正则表达式整理

    1、创建正则表达式 第一种方式:注意这里的正则表达式不能使用单引号或者双引号,如下 var pattern1 = /[abc]/i; // 匹配第一个”a”或”b”或”c”,不区分大小写 第二种方式:使用RegExp构造函数创建,该构造函数...

    超全的js正则表达式整理笔记

    为大家分享了一篇超全的javascript正则表达式整理笔记,感兴趣的小伙伴们可以参考一下

    JS正则表达式大全(整理详细且实用)

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在”\”后面的字符不按原来意义解释,如/b/匹配字符”b”,当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如”*”...

    JavaScript中常用的正则表达式日常整理(全)

    匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII...

    常用正则表达式 整理篇

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内): [^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){ return this....

    精通 JavaScript中的正则表达式手机整理 推荐

    正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 •替换文本。可以在文档中使用一个正则表达式来...

Global site tag (gtag.js) - Google Analytics