一直以来知到正则表达式很强大,想狠下心来学一学,前段时间为此买了本《精通正则表达式》,花了不少大洋。买回来看了不到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返回正则表达式第一次匹配的位置
分享到:
相关推荐
根据提供的文件信息,我们可以整理出一系列与正则表达式相关的知识点。这些知识点涵盖了从基本的数字验证到复杂的字符串匹配等多个方面。下面是详细的知识点总结: ### 基本概念 正则表达式是一种用于文本模式匹配...
在这个“正则表达式学习资料整理”中,我们主要探讨的是如何理解和运用正则表达式进行四则运算相关的匹配。 首先,我们需要了解正则表达式的基本构成元素。它们包括: 1. **字符类**:用方括号`[]`定义,如 `[0-9]...
根据给定的文件标题、描述、标签以及部分内容,本文将深入解析JavaScript中的经典正则表达式,这些表达式被广泛应用于各种应用场景,如字符串验证、数据处理等。以下是对几个关键正则表达式的详细说明: ### 1. ...
收集整理了15个常用的javaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IPv4地址、 十六进制颜色、 日期、 QQ号码、 微信号、车牌号、中文正则...
JavaScript中的正则表达式是编程...了解并掌握这些JavaScript正则表达式的小问题和技巧,能帮助我们在编写代码时避免一些潜在的错误,提高代码的效率和准确性。在实际开发中,应结合具体的业务需求灵活运用这些知识。
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。在各种编程语言中,如JavaScript、Python...这份"正则表达式整理"文档将为你提供详细的帮助和示例,助你在IT行业中更好地掌握这一强大的工具。
在进行Web前端开发时,利用jQuery结合正则表达式对...以上就是基于给定文件信息整理出来的常用正则表达式的详细解释。这些正则表达式在实际项目中有着广泛的应用,可以帮助开发者更加高效地完成表单验证等相关功能。
### 常用正则表达式及用法整理 #### 整数或者小数:`^[0-9]+\.{0,1}[0-9]{0,2}$` 此正则表达式用于匹配一个整数或小数,其中小数部分最多包含两位。具体解释如下: - `^` 表示字符串的开始。 - `[0-9]+` 匹配一个...
不同编程语言或工具可能有不同的正则表达式实现,如Perl、JavaScript、Python等,它们在语法细节上可能存在差异,理解这些差异有助于在不同环境下灵活运用正则表达式。 以上内容只是正则表达式的基础知识,实际...
JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割文本。它们在编程中扮演着不可或缺的角色,尤其在验证用户输入、提取数据、格式化内容等方面。以下是对正则表达式的基础知识和常见用法的详细...
至于提供的部分内容,主要是关于计算机学习资料的网址链接,它们似乎与正则表达式的知识点无关,因此我们不会将这部分内容纳入知识点的整理。这些链接主要指向了各种编程语言、开发工具和学习资源的下载页面,提供了...
以上就是从给定文件中整理出的相关正则表达式知识点及其应用场景。正则表达式是进行文本模式匹配的强大工具,在各种编程语言中都有广泛的应用,掌握它们对于提高开发效率和解决实际问题具有重要意义。
不同语言中,正则表达式的实现可能存在差异,例如JavaScript、Python、Java等都有自己的正则引擎和语法特性。 学习正则表达式通常从基础概念开始,逐步掌握元字符、量词、选择符和字符类的用法。然后通过实践来加深...
个人整理的一份javascript正则表达式,有需要的朋友可以下载
在实际应用中,正则表达式常用于编程语言的内置函数或库,如Python的`re`模块,JavaScript的`match`、`search`和`replace`方法等。通过这些工具,我们可以实现高效的数据验证,例如检查电子邮件地址的格式、验证电话...
正则表达式不仅在编程语言中广泛使用,如C#、Java、JavaScript、Python和Ruby,还常见于文本编辑器和搜索引擎等应用中。 在正则表达式中,有几个基本的元字符和符号具有特殊意义: 1. `.`:匹配任意单个字符,除了...
- **说明**: 通过 JavaScript 事件处理函数 `onkeyup` 和 `onbeforepaste`,结合正则表达式限制用户输入。 - **应用场景**: 在前端表单验证中,确保用户按照指定格式输入数据。 #### 三、总结 正则表达式是一种非常...
说明:IE6.0、IE7.0、IE8.0、Firefox/3.0.11下测试通过 验证数字最简单正则表达式大全 输入完按回车后即可验证!... 您可能感兴趣的文章:JS正则表达式大全(整理详细且实用)javascript 手机号码正则表
根据提供的文件信息,我们可以整理出一系列与正则表达式相关的知识点。这些知识点涵盖了从简单的字符匹配到复杂的格式验证,对于JavaScript前端开发来说非常实用。下面将详细介绍这些知识点: ### 正则表达式基础 ...
正则表达式在编程语言中的应用广泛,如JavaScript、Python、Java、C#等,它们都有自己的正则表达式库或内置支持。了解如何在这些环境中使用正则表达式,将极大提升你的文本处理能力。例如,在Python中,可以使用`re`...