总结常用的正则表达式相关知识

正则作为工作中的常用工具,下文对其进行归纳整理。

正则相关介绍

  • 正则表达式其实也是js里面的一个对象RegExp
  • 创建正则对象 new RegExp("a")
  • 创建正则对象(对象字面量) let reg = /xxx/
    • 其中//是标记,a表示要匹配的字符

正则表达式的匹配字符

  let reg = /a/  // 匹配字符串中的a字符
  let reg2 = /abc/ // 匹配字符串中的‘abc’
  reg2.test('ab1c') // false
  reg2.test("1abc")  //true
  reg2.test("abc123")    //true
  reg2.test("abcabc")    //true

正则表达式中特殊字符的意义和用法

  • . 表示除了换行符(\r \n)以外的任意字符
var reg = /./
reg.test('a') // true
reg.test('.') // true
reg.test('\r') // false
reg.test('12\r12') // true
reg.test(' ') // true
  • \d 表示数字
var reg = /\d/
reg.test('12a12') // true
reg.test('abc') // false
var reg2 = /\d\d/
reg.test('12) // true
reg.test('1c') // false
  • \D 是\d的取反结果,表示不是数字
var reg = /\D/
reg.test('123') // false
reg.test('12a12') // true
reg.test('abc') // true
var reg2 = /12\D4/
reg.test('1234') // false
reg.test('12a4') // true
  • \w 表示字母、数组、下划线。三者满足其一即可
var reg = /\w/
reg.test("a")  //true
reg.test("1")  //true
reg.test("_")  //true
reg.test(' ')  //false
reg.test('')   //false
  • \W 是\w的取反,除了字母、数组、下划线以外的任何字符
var reg = /\W/
reg.test("a")  //false
reg.test("1")  //false
reg.test("_")  //false
reg.test(' ')  //true
reg.test('')   //false
  • \s 表示一个空白字符(包括\r\n\t等空格)
var reg=/\s/;
reg.test("abc def")   //true
reg.test("abc\r123")  //true
reg.test("abc")       //false
  • \S 是\s的取反,表示除了空白字符以外的任何字符

  • \ 表示转义字符

var reg=/./;    //匹配除了换行符以外的任意字符
var reg=/\./;   //匹配.字符
var reg=/\//;   //匹配一个正斜杠:/
var reg=/\[\]/;   //匹配[]
  • [abc] 表示字符集合 匹配abc中的任何一个
var reg=/[1a2b3]/; //
reg.test("a")      //结果为:true
reg.test("3")      //结果为:true
reg.test("fg5678")  // false
reg.test("a999999")  // true
var reg2=/[123][abc]/
reg2.test("2a");    //true
reg2.test("3c");    //true
reg2.test("asdfasdf1c"); // true 
  • [^abc] 表示不能是abc中的任何一个

正则边界

  • ^ 表示字符串最左边
var reg=/^abc/;     //表示以abc开头
reg.test("123abc123");  // false
reg.test("abc123");     // true
  • $ 表示字符串最右边
var reg=/abc$/      //表示以abc结尾
reg.test("123abc")  // true
reg.test("abc123")  // false
var reg=/^abc$/      //表示匹配‘abc’(以abc开头并且以abc结尾)
reg.test("abc")  // true
reg.test("abc123")  // false

正则量词

  • * 出现0次或者多次
var reg=/\d*/  // 表示要0个或者多个数字
reg.test("123")  //true
reg.test("abc")  //true

var reg3=/1\d*/
reg3.test("123");   //true
reg3.test("a23")   //false
reg3.test("a1b");   //true
  • + 出现1次或者多次
  • 出现0次或者1次
  • {3} 出现3次
  • {3,} 至少出现3次
  • {3,5} 出现3到5次
  • | 或者
var reg=/abc|123/  //表示匹配abc或者123
  • () 分组
var reg=/(\d{3,4})-(\d{7,8})/  //true
reg.test('021-33335555')  // true
reg.test('a021-33335555w')  // true
reg.test('a01-33335555')  // false

正则表达式修饰符

  • /i 忽略大小写
  • /g 全文查找出现的所有匹配字符
  • /ig 全文查找、忽略大小写
  • /gi 全文查找、忽略大小写

你可能感兴趣的:(总结常用的正则表达式相关知识)