javaScript中正则表达式用于字符串匹配、查找、替换和验证,可通过字面量如/abc/或构造函数new regexp(“abc”)创建;常用修饰符包括i(忽略大小写)、g(全局匹配)和m(多行模式);核心元字符有.(任意字符)、d(数字)、w(单词字符)、^/$(开头/结尾)、*+/?/{n}(重复次数)、[](字符类)、()(分组);主要方法为test()(检测匹配)、exec()(获取匹配详情)、match()(返回匹配数组)、replace()(替换内容)、split()(正则分割);典型应用如/^d{3}-d{4}$/验证格式、校验手机号、邮箱等,需熟练掌握元字符组合与实际场景运用。

javascript中的正则表达式是处理字符串匹配、查找、替换和验证的有力工具。掌握其语法和使用方法,能极大提升文本处理效率。下面详细介绍js正则表达式的写法、语法结构及常见应用场景。
创建正则表达式的方式
在JavaScript中,有两种方式创建正则表达式:
- 字面量方式:用斜杠/包围模式,例如:/abc/
- 构造函数方式:使用new RegExp(“pattern”),适合动态生成的正则
例如:
const regex1 = /hello/;
const regex2 = new RegExp(“hello”);
正则表达式修饰符(flags)
修饰符写在斜杠后或传入构造函数,控制匹配行为:
立即学习“Java免费学习笔记(深入)”;
- i – 不区分大小写(ignore case)
- g – 全局匹配(global),找到所有匹配而非第一个就停止
- m – 多行模式(multiline),让^和$匹配每行开头结尾
示例:
/hello/i —— 匹配 Hello、HELLO 等
/ab/g —— 找出所有 ab 出现的位置
常用元字符与模式
正则中一些特殊字符有特定含义,称为元字符:
- . – 匹配任意单个字符(换行除外)
- d – 数字,等价于 [0-9]
- w – 单词字符,包括字母、数字、下划线
- s – 空白字符(空格、制表符、换行等)
- ^ – 匹配字符串开头
- $ – 匹配字符串结尾
- * – 前一项出现0次或多次
- + – 前一项出现1次或多次
- ? – 前一项出现0次或1次
- {n} – 前一项恰好出现n次
- [abc] – 字符类,匹配括号内任意一个字符
- (…) – 分组,将多个字符当作一个整体
例如:
/^d{3}-d{4}$/ —— 匹配如 “123-4567” 的格式
常用方法与使用场景
JavaScript中常用的正则相关方法包括:
- test() – 检查是否匹配,返回 true 或 false
- exec() – 返回匹配结果数组,包含详细信息
- match() – 字符串方法,返回所有匹配项
- replace() – 替换匹配内容
- split() – 使用正则分割字符串
实际例子:
const phoneRegex = /^d{3}-d{3}-d{4}$/;
phoneRegex.test(“123-456-7890”); // true
“Hello world”.replace(/world/, “JS”); // “Hello JS”
“one, two, three”.split(/s,s/); // [“one”, “two”, “three”]
基本上就这些。熟练使用正则需要多练习常见模式,比如邮箱、手机号、URL的校验。关键是理解元字符含义和组合逻辑,不复杂但容易忽略细节。