23前端学习之js高级: 正则表达式
2023-09-27 14:29:29 时间
文章目录
一、什么是正则表达式:
JavaScript中,在正则表达式是对象;
二、正则表达式在JavaScript中的使用:
1. 创建正则表达式:
表达式要使用斜线(/)括起来
正则表达式不需要引号;
1.1 通过调用RegExp对象来创建:
var reg = new RegExp(/表达式/);
1.2 通过字面量创建:
var reg = /表达式/
2. 测试正则表达式 test:
test()正则对象方法, 用于检测字符串是否符合该规则, 该对象会返回true或false, 其参数是测试字符串:
regObj.test(str);
- regObj: 写的正则对象;
- str: 要测试的文本;
- 检测str文本是否符合regObj正则表达式;
三、正则表达式中的特殊字符:
1. 正则表达式的组成:
- MDN官网:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions
- jQuery手册: 正则表达式部分;
- 正则测试工具: https://tool.oschina.net/regex
2. 边界符:
正则表达式中的边界符(位置符)用来提示字符所处的位置;
边界符 | 说明 |
---|---|
^ | 表示匹配行首的文本(以谁开始) |
$ | 表示匹配行尾的文本(以谁结束) |
3. 字符类:
字符类 | 说明 | 例 |
---|---|---|
[] | 表示有一系列字符可供选择, 只要匹配到其中一个就可以了 | /[abc]/ 包含a或b或c |
[-] | 方括号内部, 范围符- | /[a-z]$ a到z结尾/ |
例如:
var reg = /[abc]/
console.log(reg.test('andy')); // true
4. 量词符:
量词符用来设定某个模式出现的次数
量词 | 说明 | 例 |
---|---|---|
* | 重复0次或多次 | |
+ | 重复一次或多次 | |
? | 重复0次或1次 | |
{n} | 重复n次 | |
{n,} | 重复n次或更多次 | |
{n,m} | 重复n到m次 |
5. 括号总结:
中括号[]: 字符集合, 匹配方括号中的任意字符;
大括号{}: 量词符, 里边表示重复的次数;
小括号(): 表示优先级;
6. 预定义类:
预定义类值得是某些常见模式的简写方式:
预定义类 | 说明 |
---|---|
\d | 匹配0-9之间的任意数组, 相当于[0-9] |
\D | 匹配除0-9以外的字符, 相当于[^0-9] |
\w | 匹配任意字母、数字和下划线, 相当于[A-Za-z0-9_] |
\W | 匹配除了字母、数字和下划线以外的字符, 相当于[^A-Za-z0-9_] |
\s | 匹配空格(包含换行符、制表符、空格等), 相当于[\t\r\n\v\f] |
\S | 匹配非空格的字符, 相当于[^\t\r\n\v\f] |
四、正则表达式中的替换:
1. replace替换:
replace()方法可以实现途欢字符串操作, 用来替换的参数可以是一个字符串或是正则表达式;
stringObject.replace(regexp/substr, replacement)
- 第一参数: 被替换的字符串 或者 正则表达式;
- 第二参数: 替换为的字符串;
- 返回值: 被替换后的新字符串;
2. 正则表达式参数:
/表达式/[switch]
switch(也称修饰符)按照什么样的模式来匹配, 有三种模式:
- g: 全局匹配
/hello/g
- i: 忽略大小写
/hello/i
- gi: 全局匹配 + 忽略大小写
/hello/gi
相关文章
- js复制功能代码
- JS数字指定长度不足前补零的实现
- 解决node与npm版本不一致,出现npm WARN npm npm does not support Node.js v15.14.0
- js-正则表达式边界符和前瞻、后顾的使用-保证你看明白
- Node.js使用fs.renameSync报cross-device link not permitted错误
- JS 正则表达式 控制文本框只能输入中文、英文、数字与指定特殊符号
- 正则表达式专题(JS版)之7、正则表达式的构建
- 正则表达式专题(JS版)之5、正则表达式回溯法原理
- 正则表达式专题(JS版)之4、正则表达式括号的作用
- js及jQuery移除html元素所有的class
- js之正则表达式基础
- 对JS闭包和函数作用域的问题的深入讨论,如何理解JS闭包和函数作用域链?
- Node.js 指南(迁移到安全的Buffer构造函数)
- JS(Javascript)自总结
- 【笔记】Vue Element+Node.js开发企业通用管理后台系统——用户登录(中)
- JS组件系列——JsPlumb流程图及相关效果详解
- JS 简单的操作杆旋转实现
- js如何实现继承
- js 正则表达式判断数字和数字范围