javascript正则表达式小结

总结了一下javascript正则表达式的内容。表格情势,一览无余。辅以Example图形诠释。

一、元字符

《javascript正则表达式小结》

二、反义字符

《javascript正则表达式小结》

三、转义字符

《javascript正则表达式小结》

四、反复婚配

《javascript正则表达式小结》

五、分组/捕捉

《javascript正则表达式小结》

六、贪欲与惰性

《javascript正则表达式小结》

七、修饰符

《javascript正则表达式小结》

example

  • 婚配开首为11N, 12N或1NNN,背面是-7-8个数字的电话号码。

《javascript正则表达式小结》

引荐一个图形化示意正则的东西
https://regexper.com

将上个例子翻译为图形化示意以下:

《javascript正则表达式小结》

  • 诠释一下这个正则的意义

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

起首 (?:...)?(.*) 看最外边的两个括号,第一个黑白捕捉型括号,? 号作用于这个括号。第二个括号是捕捉型的,而且婚配多个恣意字符。

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

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

《javascript正则表达式小结》

再来一个

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

《javascript正则表达式小结》

  • 用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=/(1\d+)|(0[0-9\s\-]+)/g;
console.log(str.match(reg));

《javascript正则表达式小结》

正则要领:

.test(字符串):返回一个布尔值,示意传入的字符串是不是婚配该正则(从lastIndex属性指导的处所最先)

.exec(字符串):返回一个包括了婚配效果的数组(分外具有两个属性:input示意本次搜刮的目的字符串,即传入exec要领的参数;index示意婚配效果在目的字符串内的位置)或null(婚配不到)。纵然正则增加了g选项,也要经由过程屡次挪用统一正则对象的该要领来继承搜刮(每次搜刮会从lastIndex属性指导的处所继承。若已完成搜刮,则lastIndex会被自动置0)。若未增加g选项,则挪用频频都是一样的效果。若未找到婚配项则返回null,且将正则对象的lastIndex自动置为0

字符串对象的有关要领:

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

更多能够参考高设Regexp一章。

    原文作者:wtgzczz
    原文地址: https://segmentfault.com/a/1190000006916685
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞