微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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标签,下次再写

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高