25-day

正则

- 正则表达式,又名 “规则表达式”


- 由我们自己来书写 “规则”,专门用来检测 **字符串** 是否符合 “规则” 使用的


字面量创建

- 下面就是字面量创建一个正则表达式

var reg = /abcdefg/

- 这个正则表达式就可以去检测字符串了


构造函数创建

- 下面就是构造函数创建一个正则表达式

var reg= new RegExp('abcdefg')


元字符

- “.”: 匹配非换行的任意字符

- “\”: 转译符号,把有意义的 **符号** 转换成没有意义的 **字符**,把没有意义的 **字符** 转换成有意义的 **符号**

-“\s”: 匹配空白字符(空格/制表符)

-“\S”: 匹配非空白字符

-“\d”: 匹配数字

-“\D”: 匹配非数字

-“\w”: 匹配数字字母下划线

-“\W”: 匹配非数字字母下划线


限定符

- “*”: 前一个内容重复至少 0 次,也就是可以出现 **0 ~ 正无穷** 次

- “+”: 前一个内容重复至少 1 次,也就是可以出现 **1 ~ 正无穷** 次

- “?”: 前一个内容重复 0 或者 1 次,也就是可以出现 **0 ~1** 次

- “{n}”: 前一个内容重复 n 次,也就是必须出现 **n** 次

- “{n,}”: 前一个内容至少出现 n 次,也就是出现 **n ~ 正无穷** 次

- “{n,m}”: 前一个内容至少出现 n 次至多出现 m 次,也就是出现 **n ~ m**次


边界符

- “^”: 表示开头

- “$”: 表示结尾


特殊符号

- “()”: 限定一组元素

- “[]”: 字符集合,表示写在 `[]` 里面的任意一个都行

- “[^]”: 反字符集合,表示写在 `[^]` 里面之外的任意一个都行

- “-”: 范围,比如 `a-z` 表示从字母 a 到字母 z 都可以

- “|”: 或,正则里面的或 `a|b` 表示字母 a 或者 b 都可以


标示符

- “i”: 表示忽略大小写

   -这个 i 是写在正则的最后面的

   -`/\w/i`

  -就是在正则匹配的时候不去区分大小写

- “g”: 表示全局匹配

   -这个 g 是写在正则的最后面的

   - `/\w/g`

   -就是全局匹配字母数字下划线


test

- “test”是用来检测字符串是否符合我们正则的标准

- 语法: `正则.test(字符串)`

- 返回值:boolean


exec

- “exec”是把字符串中符合条件的内容捕获出来

- 语法: `正则.exec(字符串)`

- 返回值:把字符串中符合正则要求的第一项以及一些其他信息,以数组的形式返回


字符串的方法

- 字符串中有一些方法也是可以和正则一起使用的


search

- “search”是查找字符串中是否有满足正则条件的内容

- 语法: `字符串.search(正则)`

- 返回值 : 有的话返回开始索引,没有返回-1


match

- “match”找到字符串中符合正则条件的内容返回

- 语法: `字符串.match(正则)`

- 返回值 :

  -没有标示符 g 的时候,是和 exec 方法一样

  -有标示符 g 的时候,是返回一个数组,里面是匹配到的每一项


replace

- “replace”是将字符串中满足正则条件的字符串替换掉

- 语法:`字符串.replace(正则,要替换的字符串)`

- 返回值 : 替换后的字符串

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

推荐阅读更多精彩内容

  • 正则 正则表达式,又名 “规则表达式” 由我们自己来书写 “规则”,专门用来检测 字符串 是否符合 “规则” 使用...
    千锋HTML5学院阅读 1,768评论 0 7
  • 正则表达式 用于匹配规律的表达式,通过增加、删除、修改、查找等功能以简单的方式来处理字符串 正则的声明方式 1、构...
    无绪丶阅读 11,203评论 0 2
  • 正则表达式 专门用来检测字符串是否符合“规则” 使用的 1、创建一个正则表达式 字面量创建:var reg = /...
    越学越秃的程序猿阅读 1,007评论 0 0
  • 创建正则表达式 1.字面量创建 var reg =/表达式条件/ 2.构造函数创建 var reg = new R...
    名字什么的最麻烦了阅读 1,443评论 0 0
  • 命令指南 3种类型的时间戳 GUN/Linux的文件包含3种类型的时间戳 对应ls命令,查看上述时间戳的选项如下 ...
    childhood_1013阅读 2,166评论 0 0