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),因为字符串本身会先解析一次转义。
常用元字符和简单模式
正则靠特殊符号(元字符)表达含义。几个最常用的基础例子:
立即学习“Java免费学习笔记(深入)”;
-
\d匹配任意一位数字(等价于[0-9]); -
\w匹配字母、数字或下划线(等价于[a-zA-Z0-9_]); -
.匹配除换行符外的任意单个字符; -
^表示开头,$表示结尾,比如/^abc$/只匹配整个字符串就是 "abc"; -
\b表示单词边界,比如/\bcat\b/能匹配 "cat",但不匹配 "category" 中的 "cat"。
修饰符(flags)控制匹配行为
写在末尾的字母会影响匹配方式:
Unix in a Nutshell同时涵盖了许多重要的、业界标准的开放源码工具 本书还完整地讨论了常用的shell(bash、ksh及tcsh)和重要元素如正则表达式,乃至旧式工具如sed、awk与vi。 Unix不是一个庞大的物体:它是一个综合体,而《Unix技术手册》则是将这一切合并在一起的一本书。 到底unix是什么?原始的unix源码是由sco拥有,unix注册商标是由open group拥有,而领先的仿unix系统则是gnu/linux、mac os x及solaris。这些版本所附的命令与选
-
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@]+$/ —— 大致要求是“非空格@非空格.非空格”,虽不完美但日常够用。
基本上就这些。正则不复杂,但容易忽略转义、边界和修饰符的影响。多练几个小例子,比如提取电话号、过滤空格、判断是否为十六进制颜色值,手感很快就来了。










