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知识库 -> JS正则表达式 -> 正文阅读

[JavaScript知识库]JS正则表达式


正则表达式是什么

正则表达式是用于匹配字符串中字符组合的模式。
在 JavaScript中,正则表达式也是对象。

这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法


构建方法

1、标记形式

使用一个正则表达式字面量,其由包含在斜杠之间的模式组成;
其中,‘//’是标记,abc表示要匹配的字符

var re = /ab+c/;
脚本加载后,正则表达式字面量就会被编译。当正则表达式保持不变时,使用此方法可获得更好的性能。
2、用正则对象的构造函数RegExp

调用RegExp对象的构造函数

var re = new RegExp("ab+c");
在脚本运行过程中,用构造函数创建的正则表达式会被编译。如果正则表达式将会改变,或者它将会从用户输入等来源中动态地产生,就需要使用构造函数来创建正则表达式。

使用正则表达式的方法

方法作用描述
test一个在字符串中测试是否匹配的RegExp方法,它返回 true 或 false。
search一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。
exec一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回 null)。
match一个在字符串中执行查找匹配的String方法,它返回一个数组,在未匹配到时会返回 null。

简单匹配:使用 test 或 search 方法;
想得到更多信息:使用 exec 或 match 方法(但是比较慢);
如果使用exec 或 match 方法匹配成功,将返回一个数组并且更新相关的正则表达式对象的属性和预定义的正则表达式对象;如果匹配失败,那么 exec 方法返回 null(也就是false)。

编写正则表达式的模式

使用简单模式

简单模式是由你想直接找到的字符构成(必须连续相同)

let reg = /abc/
reg.test("abcbcc")		//true
reg.test("ab cbc")		//false
reg.test("adbcc")		//false

使用特殊字符

当你需要匹配一个不确定的字符串时,比如寻找一个或多个 “b”,或者寻找空格,可以在模式中使用特殊字符。

断言(Assertions):表示一个匹配在某些条件下发生。断言包含先行断言、后行断言和条件表达式。

字符类(Character Classes):区分不同类型的字符,例如区分字母和数字。

组和范围(Groups and Ranges):表示表达式字符的分组和范围。

量词(Quantifiers):表示匹配的字符或表达式的数量。

Unicode 属性转义(Unicode Property Escapes):基于 unicode 字符属性区分字符。例如大写和小写字母、数学符号和标点。

\ 转义字符
let reg = /\./		//匹配.字符
let reg = /\//		//匹配/字符
[ ]匹配字符集合

匹配集合中的字符,只要匹配到其中一个即可

let reg = /[123abc]/
reg.test("a")			//true
[^]匹配集合中没有的

有集合中没有的字符即可

let reg = /^123456/
reg.test("123")		//false
reg.test("a")		//true
. 匹配除了换行符(\r\n)以外的任意字符
let reg = /./
reg.test("a")		//	true
reg.test("\r")		//	false

因此带.的不能简单用.匹配,

用\.或[.]匹配
\d 匹配数字
let reg = /\d/
reg.test("1b")	//true
let reg = /\d\d/
reg.test("1b12")	//true
reg.test("1ab1")	//false
\D 匹配不是数字的
let reg = /\D/
reg.test("123b")	//true
\w 匹配数字/字母/下划线
let reg = /\w/
reg.test("12")		//true
reg.test("_")		//true
reg.test(".")		//false
\W -> \w相反
\s 匹配空白字符(换行空格等)
let reg = /\s/
reg.test("1 2")		//true
reg.test("\t")		//true
reg.test("12abc")	//false
\S -> \s相反
^ 匹配开头元素

如/^abc/匹配以abc开头的

$ 匹配结尾元素
量词
*	0次或多次;
+	1或多次;
?	0或1次;
{3}	3次;
{3,}	至少3次;
{3,5}	3~5次;

| 表示或;()表示分组


总结

这里对文章进行总结:
以上就是本文的内容,本文简单介绍了JS正则表达式的相关内容及一些常用用法,了解更多参考下面文档内容。

相关参考

正则表达式文档

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:38:52  更:2022-02-05 21:41:03 
 
开发: 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/24 12:25:51-

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