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

作者 : 开心源码 本文共2125个字,预计阅读时间需要6分钟 发布时间: 2022-05-12 共248人阅读

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

正则相关详情

  • 正则表达式其实也是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') // truereg.test('.') // truereg.test('\r') // falsereg.test('12\r12') // truereg.test(' ') // true
  • \d 表示数字
var reg = /\d/reg.test('12a12') // truereg.test('abc') // falsevar reg2 = /\d\d/reg.test('12) // truereg.test('1c') // false
  • \D 是\d的取反结果,表示不是数字
var reg = /\D/reg.test('123') // falsereg.test('12a12') // truereg.test('abc') // truevar reg2 = /12\D4/reg.test('1234') // falsereg.test('12a4') // true
  • \w 表示字母、数组、下划线。三者满足其一就可
var reg = /\w/reg.test("a")  //truereg.test("1")  //truereg.test("_")  //truereg.test(' ')  //falsereg.test('')   //false
  • \W 是\w的取反,除了字母、数组、下划线以外的任何字符
var reg = /\W/reg.test("a")  //falsereg.test("1")  //falsereg.test("_")  //falsereg.test(' ')  //truereg.test('')   //false
  • \s 表示一个空白字符(包括\r\n\t等空格)
var reg=/\s/;reg.test("abc def")   //truereg.test("abc\r123")  //truereg.test("abc")       //false
  • \S 是\s的取反,表示除了空白字符以外的任何字符

  • \ 表示转义字符

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

正则边界

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

正则量词

  • * 出现0次或者者屡次
var reg=/\d*/  // 表示要0个或者者多个数字reg.test("123")  //truereg.test("abc")  //truevar reg3=/1\d*/reg3.test("123");   //truereg3.test("a23")   //falsereg3.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})/  //truereg.test('021-33335555')  // truereg.test('a021-33335555w')  // truereg.test('a01-33335555')  // false

正则表达式修饰符

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

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 总结常用的正则表达式相关知识

发表回复