JavaScript正则表达式通过模式匹配字符串,支持字面量或构造函数创建,含普通字符、元字符、量词和修饰符;可用test()、exec()匹配,replace()替换,并需注意转义、g标志及适用边界。
JavaScript 正则表达式通过模式(pattern)描述文本结构,引擎按规则扫描字符串,找到符合模式的子串——匹配成功后可提取、验证或替换内容。
一个正则表达式由字面量(如 /abc/)或构造函数(new RegExp("abc"))创建。核心包括:

test() 返回布尔值,适合做条件判断;exec() 返回匹配结果对象(含 index、0、groups 等),适合提取内容。
例如检查邮箱格式:
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
console.log(emailRegex.test("user@example.com")); // true
console.log(emailRegex.test("invalid@")); // false
提取日期中的年份和月份:
const dateRegex = /(\d{4})-(\d{2})-\d{2}/;
const match = dateRegex.exec("2025-09-15");
console.log(match[1]); // "2025"
console.log(match[2]); // "09"
replace() 接收正则表达式(支持 g 修饰符实现全部替换)和替换内容。替换内容可以是字符串,也可以是函数——函数参数包含匹配项、分组、位置等,适合动态处理。
"javascript is cool".replace(/\b\w/g, c => c.toUpperCase()); // "Javascript Is Cool"
正则容易写错,尤其在边界和转义上:
不复杂但容易忽略