本文系统介绍 JavaScript 中正则表达式的核心语法,涵盖常用修饰符如点号、星号、加号、问号及边界符号的用法,解析 \d、\w、\s 等字符类定义,并阐述非贪婪匹配模式(如 +?、*?)的实现方式,帮助开发者掌握基础正则编写技巧。
正则表达式修饰符详解
1. 修饰符
. 用于匹配任意单个字符。
* 用于匹配前面的字符出现 0 次或多次。
+ 用于匹配前面的字符出现 1 次或多次。
? 用于匹配前面的字符出现 0 次或 1 次。
^ 用于指定匹配必须从 ^ 后面的字符开始(前导)。
$ 用于指定匹配必须在 $ 前面的字符处结束(结尾)。
[] 用于匹配方括号内的任意一个字符。
() 用于定义分组,可以通过 \1、\2 等引用提取分组内容。
[^] 用于匹配不在 ^ 后面指定的字符集合之外的任意一个字符。
{n} 用于匹配前面的字符恰好出现 n 次,其中 n 为正整数。
{n,} 用于匹配前面的字符至少出现 n 次,其中 n 为正整数。
{n,m} 用于匹配前面的字符出现次数在 n 到 m 次之间,n 和 m 均为正整数。
常用字符类与边界定义
2. 字符类
\d 用于匹配一个数字字符。
\D 用于匹配一个非数字字符。
\w 用于匹配一个字母、数字或下划线字符。
\W 用于匹配一个非字母且非数字的字符。
\s 用于匹配一个空白字符(如空格、制表符等)。
\S 用于匹配一个非空白字符。
\b 用于匹配单词边界。
\B 用于匹配非单词边界。
非贪婪匹配模式
3. 非贪婪匹配
+? *? ??