简单正则总结

正则表达式的思想是给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。

正则表达式的基础语法:

1.用\d可以匹配一个数字、用\w表示字符串、用\s表示空格

2.*表示任意个字符(包括0个)、+表示一个或多个(至少一个)、?表示0个或1个字符、{n}表示n个字符,{n,m}表示n-m个字符

3. .表示匹配任意字符、对于特殊字符,如-、.等需要用\- \.转义

举个栗子:

\d{3}:表示三个数字 如 '123'

\d{3}\-\d{3,8}:表示前面三位数字 加-加后面3到8个数字。如:010-88888888通常用于部分电话号码输入控制

进阶一:

用[]表示范围,可以做到更精确地匹配:

1.[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线。注意后面有\_表示下划线。如:'a'

2.[0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串;因为后面有个+符号 所以至少一个。如'zA0_'

3.[a-zA-Z\_\$][0-9a-zA-Z\_\$]*可以匹配由字母或下划线、$开头,后接任意个由一个数字、字母或者下划线、$组成的字符串,也就是JavaScript允许的变量名;如:'a'或者'a$'

4.[a-zA-Z\_\$][0-9a-zA-Z\_\$]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)

A|B可以匹配A或B,所以(J|j)ava(S|s)cript可以匹配'JavaScript'、'Javascript'、'javaScript'或者'javascript'。

^表示行的开头,^\d表示必须以数字开头。

$表示行的结束,\d$表示必须以数字结束。

进阶二:全局搜索

JavaScript的正则表达式还有几个特殊的标志,最常用的是g,表示全局匹配:

当我们指定g标志后,每次运行exec(),正则表达式本身会更新lastIndex属性,表示上次匹配到的最后索引

即执行一次查找一次 返回下标,如果式子中有多个结果,执行第一次会返回第一个结果 再执行一次才会返回第二个结果下标

一次返回一个结果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,198评论 0 9
  • Java的正则表达式讲解:(为了能看清,本文正则表达式用中文的句号代替英文句点) 英文句点符号:匹配单个任意字符。...
    红姑娘阅读 4,436评论 0 2
  • 1,正则表达式的作用:匹配一个字符串中的一些内容 2,声明和使用: 1)构造函数 var reg=new RegE...
    WDL_1a39阅读 780评论 0 1
  • 正则表达式全部符号解释(转) 常用正则表达式大全 (转) 不错的正则博客 正则的方法 var reg = /[1-...
    me__me11阅读 1,033评论 0 0
  • 匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配空格:[ ]匹配连续空...
    joker_fu阅读 4,279评论 0 0