IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript:正则表达式各类字符方法汇总纪律 -> 正文阅读

[JavaScript知识库]JavaScript:正则表达式各类字符方法汇总纪律

1、 直接量字符

字母和数字字符自身
\oNull字符
\t制表符
字符匹配
\n换行符
\v垂直制表符
\f换页符
\r回车符
\将特殊字符转义成普通字符

2、作用域匹配字符

字符作用
i:ignoreCase匹配时忽视大小写
m:multiline多行匹配
g:global全局匹配

3、 正则表达式实例方法

方法名称功能返回值
exec用来匹配字符串中符合正则表达式的字符串返回值是一个result数组/null
test测试待检测的字符串中是否有可以匹配到正则表达式的字符串。全局匹配时,会记录上次检测到的数据位置,再进行下一次检测时从当前位置开始进行,如果某次为false,则下一次重新开始true/false
toString/toLocaleString把正则表达式的内容转化成字面量形式字符串/有本地特色的字符串string
valueOf正则表达式输出出来返回正则表达式本身

4、正则表达式实例属性

实例属性作用
lastIndex1、初始值为0。
2、没设置全局匹配时,无论匹配多少次,该属性值始终为0
3、设置了全局匹配时,每执行一次exec/test来匹配,lastIndex就会移向匹配到的字符串的下一个位置,即每次正则查找的起点就是lastIndex
ignoreCasereg.ignoreCase:判断正则表达式中是否有忽略大小写
globalreg1.global:判断正则表达式中是否有全局匹配
multilinemultiline:判断正则表达式中是否有多行匹配
source返回字面量形式的正则表达式(类似于toString

5、方括号符

用于查找某个范围内的字符:

名称功能使用案例
[abc]查找方括号之间的任何字符,包含任意一个返回truevar str = 'abc qwe abd’
var reg1 = /[abc]/;// 只要包含有a 或者 包含有b 或者包含有c 都返回为true
console.log(reg1.test(str)); //true
[0-9]查找任何从0至9的数字
[a-z]查找任何从a至z的字母
[A-Z]查找任何从A至Z的字母\W==[a-zA-z0-9_]

6、边界符

名称功能备注
^匹配输入开始。表示匹配行首的文本(以谁开始)反义字符:
1、括号内做取反:只要包含方括号内的字符,都返回 false。
2、如果^在括号外就匹配开头,与$符做精确匹配
$匹配输入结尾。表示匹配行尾的文本(以谁结束)
/^字符$/表示必须是精确匹配。必须精确匹配开头和结尾
\b匹配一个零宽单词边界\b 取完整单词
\B匹配一个零宽非单词边界\B可以取单词之间的字符串

7、字符类

将直接量字符单独放进方括号内就组成了字符类,

字符类含义
.匹配除换行符\n和回车符之外的任何单个字符,等效于**[^\n\r]**
\d匹配一个数字字符,等效于[0-9]
\D[^0-9]:不能取数字
\w匹配包括下划线的任何单个字符,包括AZ,az,0~9和下划线**""**,等效于 [a-zA-Z0-9]
\W[^a-zA-Z0-9_]:不能取括号内任意字符
\s匹配任何Unicode空白字符,包括空格、制表符、换页符等,等效于[\f\t\n\r]
\S[^\f\t\n\r]: 不能包含任意空格、制表符、换页符等

8、数量词

字符含义
*>=0次 ==={0,}
+≥1 次==={1,}
0或1次{0,1}
{n}n 次
{n,}≥n 次
{n,m}n到m 次

9、选择,分组,引用,捕获

名字功能使用
选择| :用于分隔供选择的字符从左到右只要出现匹配项则返回,不会继续执行
分组():有圆括号包裹的一个小整体成为分组。1、分组被捕获时,以左括号开始向内输出/保存/编号。
2、以$1,$2—等对分组编号存储,可以被引用。
题外话:在前瞻表达式中,分组是不被捕获的,所以不能被引用
候选一个分组中,可以有多个候选表达式,用 | 分隔var reg = /I Like (basketball | footbool | table tennis)
捕获与引用被正则表达式匹配(捕获)到的字符串会被暂存起来。其中,由分组捕获的串会从1开始编号:$1引用了第一个被捕获的串,$2是第二个,依次类推。console.log(RegExp.$1); //2021
console.log(RegExp.$2); //08
console.log(RegExp.$3); //29
嵌套分组的捕获是以左括号出现的顺序进行捕获。/((apple) is (a (fruit)))/:
1: apple is a fruit
2:apple
3:a fruit
4:fruit
引用正则表达式里也能进行引用称为反向引用。通过\1,\2,\3…引用了被分组所捕获的串.如果编号越界了,则会被当成普通的表达式捕获的\w{3}保存为\1被引用
var reg = /(\w{3}) is \1/
console.log(reg.test(‘kid is kid’)); // true
console.log(reg.test(‘dik is dik’)); // true

10、String的方法

方法功能 /返回值使用
exec用来匹配字符串中符合正则表达式的字符串返回值是一个result数组/null
search查找字符串中是否有匹配正则的字符串有则返回字符串第一次出现时的位置,无则返回null
match匹配字符串中符合正则表达式的字符串1、返回该字符串的一个数组,其中包括字符串内容位置。
2、设置全局匹配,则一次性返回所有符合正则表达式的字符串数组
3、如果添加了分组,返回符合要求的字符串以及分组的一个数组
4、如果添加了分组并同时开启全局匹配则不会在数组中添加分组内容
split以正则表达式的某种形式分割字符串str.split(reg);
replace以正则表达式的匹配到的内容替换成自定义内容。开启全局则一次性替换。1、满足正则表达式条件的内容将被替换
2、如果开启全局模式 则替换所有满足条件的字符
3、replace(正则表达式, 要替换的内容)
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:43:35  更:2021-09-07 10:45:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:11:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码