详解javascript正则表达式

  • 时间:
  • 1052人关注

这篇文章主要介绍了javascript正则表达式总结,都是些常用的表达式,这里分享给大家,希望大家能够喜欢,另外这篇文章主要知识点是关于javascript、正则表达式、javascript的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

工具

Regexpal是一个在线Javascript正则表达式处理器,地址是:http://www.regexpal.com

学习正则重要的是实践操作,不妨举个栗子:

匹配号码:707-827-7019

字符组匹配

[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]
\d匹配任意阿拉伯数字
\D匹配任何非阿拉伯数字

.匹配任意字符

\d\d\d\D\d\d\d\D\d\d\d\d\D
\d\d\d.\d\d\d.\d\d\d\d.

捕获分组与后向应用

用圆括号()创建分组,用\1来对捕获分组内容进行向后引用

(\d)\d\1   则匹配707

完整匹配号码:

^(\(\d{3}\)|^\d{3}[.-]?)?\d{3}[.-]?\d{4}$
^ 表示一行起始位置
( 表示捕获分组的起始符
\( 表示左括号
\d{3} 表示匹配三位数字
\) 表示右括号
| 表示选择
[.-]? 匹配一个可选的点号或连字符
) 捕获分组的结束符
? 表示分组可选
$ 表示行结束为止

边界

匹配行或字符串起始位置使用脱字符 ^
匹配行或字符串末尾位置使用美元符 $

量词

量词默认是贪心的
贪心的量词会首先匹配整个字符串。尝试匹配时,他会选定尽可能多的内容,也就是整个输入。量词首先匹配整个字符,如果失败则回退一个字符再次尝试。这个过程就叫做 回溯。
懒惰的量词是从目标的起始位置开始寻找匹配。每次检查字符串的一个字符,寻找他要匹配的内容。最后,他会尝试匹配整个字符串。
占有量词会覆盖整个目标,然后尝试寻找匹配内容,但是他只尝试一次,不会回溯。
如使用 .* 匹配任何字符零次或多次

贪心量词

使用花括号{}可限制某个模式在某个范围内匹配的次数,另外,未经修饰的量词就是贪心量词
7{1,}与7+
7{0,}与7*
7?与7{0,1}
本质上则是一样
7{m,n} 则会匹配m到n次

懒惰量词

末尾加上?则使量词变懒惰
7?? 首先7?匹配零个或一个7,懒惰后不会匹配任何内容
7*? 匹配零个7
7+? 匹配一个7
7{m,n}? 匹配m个7

关于正则匹配html,xml标签,下次再写


上一篇:介绍javascript中递归函数的小注意

下一篇:javascript基础知识汇总

相关内容

  • Java和JavaScript是什么关系

    java和javascript外形字母非常像,但是二者是完全不同的二种语言。形象说,二者关系就和雷锋和雷峰塔关系一样。 js属于脚本语言,不需要编就能在浏览器解释执行;而java属于编程语言,需要编译之后才能运行。 通常js写到网页的jsp、html中,由浏览器解释,发挥其作用;而java经过编译成为class文件,运行在web服务器容器中,比如tomcat。 要说二者,看起来相同的地方,也就是编程语法上,看起来都一样。 1、java和JavaScript没有任何的血缘关系,java是是由

    12-18Java与JavaScript关系

    阅读更多
  • js与java有区别吗

    虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是Live Script;而Java的前身是Oak语言。 1、语言本质不同。 java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,即使

    11-16JavaScript 与 Java 有什么不同

    阅读更多
  • java中有正则表达式吗

    java中有正则表达式。java中的String中就提供了使用正则表达式的方法。如果你调用replaceAll(aaa,bbb),其中中的aaa就是一种正则回表达式。 1、正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 自从jdk1.4推出java.util.regex包,就为我们

    11-14java要学正则表达式吗

    阅读更多
  • javascript模拟鼠标点击事件的实例代码

    这篇文章主要介绍了javascript触发模拟鼠标点击事件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    06-15javascript触发模拟鼠标点击事件

    阅读更多
  • JavaScript格式化数字、金额、千分位、保留几位小数、舍入舍去的实例代码

    这篇文章主要介绍了JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随

    01-06JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去

    阅读更多
  • 趣学JavaScript:教孩子学编程

    趣学JavaScript:教孩子学编程

    大小:42.7 MBJavaScript

    点击下载
  • 你不知道的JavaScript 下卷

    你不知道的JavaScript 下卷

    本书讲解JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍JavaScript中常被人误解和忽视的重要知识点,分为上中下三套,欢迎下载

    大小:7 MBJavaScript

    点击下载
  • PHP、MySQL与JavaScript学习手册(第4版)

    PHP、MySQL与JavaScript学习手册(第4版)

    本书有借助面向对象的编程基础,深入学习PHP。研究MySQL,从数据库结构到复杂查询。掌握JavaScript语言,以及带有jQuery的增强功能。调用Ajax进行后台浏览器/服务器通信等,欢迎免费下载

    大小:76 MBPHP

    点击下载
  • 21天学通HTML+CSS+JavaScript Web开发

    21天学通HTML+CSS+JavaScript Web开发

    21天学通HTML CSS JavaScript Web开发(第7版) 是全球畅销书《21天学通使用HTML与CSS发布Web站点》的全新升级版本,作者在本书囊括了新的HTML5与CSS3技术,并采用易于理解的步骤式教程讲解了这些技

    大小:104.9 MB前端

    点击下载
  • HTML CSS JavaScript网页制作从入门到精通

    HTML CSS JavaScript网页制作从入门到精通

    HTML CSS JavaScript网页制作从入门到精通 第3版 共分为19章和4个附录,重点介绍使用HTML进行网页制作的方方面面,同时讲解了目前流行的Web标准与CSS网页布局实例,以及基于JavaScript语言的网页特

    大小:65.2 MB网页制作

    点击下载
  • 学习JavaScript数据结构与算法(第3版)

    学习JavaScript数据结构与算法(第3版)

    大小:13.6 MBJavaScript

    点击下载
  • 大型JavaScript应用最佳实践指南

    大型JavaScript应用最佳实践指南

    大小:35 MBJavaScript

    点击下载

学习笔记