正则

192 阅读2分钟

正则

正则就是专门处理字符串的的规则,每一个字符都是由元字符和修饰符组成的。学习正则就是学习如何编写规则。

元字符:斜杠中间的字符称为元字符;特殊元字符如下

  • 正则只能用来处理字符串
    • 1、用来匹配符合规则的字符串 正则.test(正则) 返回值ture或者false
    • 2、用来捕获符合规则的字符串 正则.exec(字符转) 返回一个数组

创建正则的两种方式

  • 1、字面量创建:var reg = /w/
  • 2、构造函数创建:var reg2 = new RegExp('w')
  • 注意:reg === reg2 // false 因为正则是引用数据类型

特殊元字符

  • \ : 转义字符
  • ():标记一个子表达式的开始和结束位置
  • . : 代表所有字符,除了换行
  • *:匹配前面的字表达式零次或者多次
  • \d : 代表0~9数字
  • \D : 除了0~9数字外的所有字符
  • \w : 代表数字、字母、下划线
  • \W : 除了数字、字母、下划线意外的所有字符
  • ^:代表以什么开头
  • $:代表以什么结尾

限定符

  • [abc]:a或b或c
  • [0-9]:数字0到9 和\d同义
  • [a-z0-9]:小写字母和字母
  • [^a-z]:取非,除了a-z这些字母
  • a|b:a或b和[ab]同义

量词

  • ?:代表前边的字符出现0~1次 /\d?/数字出现0到1次
  • +:代表前边的字符出现1次或者多次
  • *:代表前边的字符出现0次到多次
  • {n}:代表前面的字符出现n次
  • {n,m}:代表前边的字符出现n到m次
  • {n,}:代表前边的字符至少出现n次

修饰符

  • i:忽略大小写
  • m:多行匹配
  • g:全局匹配

非打印字符

  • \n:匹配一个换行符
  • \f:匹配一个换页符
  • \r:匹配一个回车符