资讯专栏INFORMATION COLUMN

javascript正则表达式小结

KnewOne / 2637人阅读

摘要:总结了一下正则表达式的内容。表格形式,一目了然。若已完成搜索,则会被自动置。若未添加选项,则调用几次都是一样的结果。若未找到匹配项则返回,且将正则对象的自动置为字符串对象的有关方法字符串字符串字符串字符串更多可以参考高设一章。

总结了一下javascript正则表达式的内容。表格形式,一目了然。辅以Example图形解释。

一、元字符

二、反义字符

三、转义字符

四、重复匹配

五、分组/捕获

六、贪婪与惰性

七、修饰符

example

匹配开头为11N, 12N或1NNN,后面是-7-8个数字的电话号码。

推荐一个图形化表示正则的工具
https://regexper.com

将上个例子翻译为图形化表示如下:

解释一下这个正则的意思

/(?:([^:;([]*):)?(.*)/

首先 (?:...)?(.*) 看最外边的两个括号,第一个是非捕获型括号,? 号作用于这个括号。第二个括号是捕获型的,并且匹配多个任意字符。

然后,([^:;([]*): 这是一个捕获型括号和一个字符 : 号

[^:;([]* 捕获型括号中又包含一个字符组([]) 与一个 * 号,字符组中匹配多个除了 ; ( [ 的字符

再来一个

/(^s*)|(s*$)/g

用js实现一个电话号码提取的方法。

例如:” 1852145998 020-888-999845 测试 021 – 85421987, 19865754″得到的结果应该是[1852145998, 020-888-999845 , 021 – 85421987, 19865754]

var str=" 1852145998 020-888-999845 测试 021  -  85421987, 19865754";
var reg=/(1d+)|(0[0-9s-]+)/g;
console.log(str.match(reg));

正则方法:

.test(字符串):返回一个布尔值,表示传入的字符串是否匹配该正则(从lastIndex属性指示的地方开始)

.exec(字符串):返回一个包含了匹配结果的数组(额外具有两个属性:input表示本次搜索的目标字符串,即传入exec方法的参数;index表示匹配结果在目标字符串内的位置)或null(匹配不到)。即使正则添加了g选项,也要通过多次调用同一正则对象的该方法来继续搜索(每次搜索会从lastIndex属性指示的地方继续。若已完成搜索,则lastIndex会被自动置0)。若未添加g选项,则调用几次都是一样的结果。若未找到匹配项则返回null,且将正则对象的lastIndex自动置为0

字符串对象的有关方法:

字符串.match()
字符串.search()
字符串.split()
字符串.replace()

更多可以参考高设Regexp一章。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80367.html

相关文章

  • 高性能JavaScript(文档)

    摘要:最近在全力整理高性能的文档,并重新学习一遍,放在这里方便大家查看并找到自己需要的知识点。 最近在全力整理《高性能JavaScript》的文档,并重新学习一遍,放在这里方便大家查看并找到自己需要的知识点。 前端开发文档 高性能JavaScript 第1章:加载和执行 脚本位置 阻止脚本 无阻塞的脚本 延迟的脚本 动态脚本元素 XMLHTTPRequest脚本注入 推荐的无阻塞模式...

    RayKr 评论0 收藏0
  • 高性能javascript小结

    摘要:高性能小结文章转载于我的博客最近看完了动物丛书的高性能,觉得那本书的小结部分写得非常不错,简洁轻快易懂概括性很强。由于局部变量存在于作用域链的起始位置,因此访问局部变量比访问跨作用域变量更快。 高性能javascript小结 文章转载于我的CSDN博客:http://blog.csdn.net/hello_world_20/article/details/46793317 最近看完了动...

    wujl596 评论0 收藏0
  • 【读书笔记】《高性能JavaScript

    摘要:性能访问字面量和局部变量的速度是最快的,访问数组和对象成员相对较慢变量标识符解析过程搜索执行环境的作用域链,查找同名标识符。建议将全局变量存储到局部变量,加快读写速度。优化建议将常用的跨作用域变量存储到局部变量,然后直接访问局部变量。 缺陷 这本书是2010年出版的,这本书谈性能是有时效性的,现在马上就2018年了,这几年前端发展的速度是飞快的,书里面还有一些内容考虑IE6、7、8的东...

    chengjianhua 评论0 收藏0
  • JavaScript标准库系列——RegExp对象(三)

    摘要:目录导语理解正则表达式模式的规则字符串和正则实例的属性和方法检索实例小结导语正则表达式是处理字符串的一门艺术手法,应用场景经常出现在表单验证部分高级程序设计一书开篇提到,这门语言最原始的应用就是处理输入验证操作,所以正则表达式从诞生那一刻就 目录 导语 1.理解正则表达式 2.模式的规则 3.字符串和正则实例的属性和方法 4.检索实例 5. 小结 导语 正则表达式是处理字符串的一门艺...

    邱勇 评论0 收藏0
  • js获取字符串字节数方法小结

    摘要:具体如下大家都知道,获取字符串的长度可用来获取,那么获取这段字符串的字节数呢英文字母肯定和字节数都一样都是而中文字节数因此,需要作的就是把中文字符的字节数计算出来。 这篇文章主要介绍了js获取字符串字节数方法,实例总结了javascript字符串长度计算的相关技巧,需要的朋友可以> 参考下 本文实例讲述js获取字符串字节数的方法。分享给大家供大家参考。具体如下: 大家都知道,获取字符串...

    elisa.yang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<