JavaScript正则表达式用于匹配、查找、替换字符串中的特定模式,支持字面量(/abc/)和构造函数(new RegExp('abc'))两种创建方式,常用元字符如\d、\w、.、^、$、\b,修饰符包括i(忽略大小写)、g(全局匹配)、m(多行模式),并提供match、replace、split、test等方法实现字符串处理。
JavaScript 的正则表达式(Regular Expression,简称 RegExp)是一种用于匹配、查找、替换字符串中特定字符模式的工具。它用简洁的语法描述文本规则,比如“以字母开头、后跟 3 到 6 位数字”或“看起来像邮箱的字符串”。
在 JS 中,你可以用字面量或构造函数创建正则对象:
/abc/,适合静态模式;new RegExp('abc'),适合动态拼接(比如用户输入的内容参与匹配)。注意:用构造函数时,反斜杠要写两遍(\\d 而不是 \d),因为字符串本身会先解析一次转义。
正则靠特殊符号(元字符)表达含义。几个最常用的基础例子:
\d 匹配任意一位数字(等价于 [0-9]);\w 匹配字母、数字或下划线(等价于 [a-zA-Z0-9_]);. 匹配除换行符外的任意单个字符;^ 表示开头,$ 表示结尾,比如 /^abc$/ 只匹配整个字符串就是 "abc";\b 表示单词边界,比如 /\bcat\b/ 能匹配 "cat",但不匹配 "category" 中的 "cat"。写在末尾的字母会影响匹配方式:
i:忽略大小写,/hello/i 能匹配 "Hello"、"HELLO";g:全局匹配,不加它只找第一个,加了才找全部;m:多行模式,让 ^ 和 $ 分别匹配每行的开头和结尾。多个修饰符可以连写,比如 /abc/gi 表示全局 + 忽略大小写。
JS 字符串和 RegExp 对象提供几个关键方法:
str.match(/pattern/g):返回所有匹配项组成的数组,没匹配到返回 null;str.replace(/pattern/g, 'new'):替换匹配内容;str.split(/pattern/):按模式切分字符串;/pattern/.test(str):返回 true 或 
false,适合做校验(比如密码强度、邮箱格式)。例如验证简单邮箱:/^[^\s@]+@[^\s@]+\.[^\s@]+$/ —— 大致要求是“非空格@非空格.非空格”,虽不完美但日常够用。
基本上就这些。正则不复杂,但容易忽略转义、边界和修饰符的影响。多练几个小例子,比如提取电话号、过滤空格、判断是否为十六进制颜色值,手感很快就来了。