正则总结

20 阅读1分钟

一、括号

  • 小括号 表示优先级
  • 中括号 字符集合.匹配方括号中的任意字符, 如果中括号里面有^ 表示取反的意思 千万和 我们边界符 ^ 别混淆
  • 大括号 量词符. 里面表示重复次数
// 中括号 字符集合.匹配方括号中的任意字符. 
var reg = /^[abc]$/; 
// a 也可以 b 也可以 c 可以 a || b || c 
// 大括号 量词符. 里面表示重复次数 
var reg = /^abc{3}$/; 
// 它只是让c重复三次 abccc 
// console.log(reg.test('abc')); 
// console.log(reg.test('abcabcabc')); 
// console.log(reg.test('abccc')); 
// 小括号 表示优先级 
var reg = /^(abc){3}$/; 
// 它是让abcc重复三次

二、或者

  • 正则里面的或者 符号 |
// 正则里面的或者 符号 | 
// 全国座机号码 
var reg = /^\d{3}-\d{8}|\d{4}-\d{7}$/;

三、量词符

  • 用来设定某个模式出现的次数
    • 简单理解: 就是让下面的a这个字符重复多少次
    • 相当于 >= 0 可以出现0次或者很多次
    • 相当于 >= 1 可以出现1次或者很多次
  • ? 相当于 1 || 0
  • {3 } 就是重复3次
  • {3, } 大于等于3
  • {3,16} 大于等于3 并且 小于等于16
// 量词符: 用来设定某个模式出现的次数 
// 简单理解: 就是让下面的a这个字符重复多少次 
var reg = /^a$/; 
// * 相当于 >= 0 可以出现0次或者很多次 
var reg = /^a*$/; 
// + 相当于 >= 1 可以出现1次或者很多次 
var reg = /^a+$/; 
// ? 相当于 1 || 0 
var reg = /^a?$/; 
// {3 } 就是重复3次 
var reg = /^a{3}$/; 
// {3, } 大于等于3 
const reg = /^a{3,}$/; 
// {3,16} 大于等于3 并且 小于等于16 
const reg = /^a{3,6}$/; 
console.log(reg.test('aaaaaaa')); // false

四、边界符

  • 边界符 ^ $