JavaScript RegExp Quantifiers 正则表达式量词
正则表达式量词
量词定义要匹配的字符或表达式的数量。
// 至少匹配一个零
const pattern = /0+/;JavaScript 正则表达式量词
修订于 2025 年 7 月
| 代码 | 描述 |
|---|---|
| x+ | 匹配至少一个 x |
| x* | 匹配零个或多个 x |
| x? | 匹配零个或一个 x |
| x{n} | 匹配 x 的 n 次出现 |
| x{n,m} | 匹配 x 的 n 到 m 次出现 |
| x{n,} | 匹配 x 的 n 次或更多次出现 |
正则表达式 + 量词
x+ 匹配至少匹配一个 x。
示例
全局搜索至少包含一个"o":
let text = "Hellooo World! Hello FreeW3C!";
const pattern = /lo+/g;
let result = text.match(pattern);
正则表达式 * 量词
x* 匹配零个或多个 x。
示例
全局搜索字母"l",后跟零个或多个字母"o":
let text = "Hellooo World! Hello FreeW3C!";
const pattern = /lo*/g;
let result = text.match(pattern);
正则表达式?量词
x?匹配零个或一个 x。
示例
全局搜索"1",后跟零个或多个"0"字符:
let text = "1, 100 or 1000?";
const pattern = /10?/g;
let result = text.match(pattern);
正则表达式 {n} 量词
x{n} 匹配 n 个 x。
全局搜索包含四个数字序列的字符串:
let text = "100, 1000 or 10000?";
let pattern = /\d{4}/g;
let result = text.match(pattern);亲自试一试 »正则表达式 {n,m} 量词
x{n,m} 匹配 x 的 n 到 m 次出现。
全局搜索包含三到四个数字序列的子字符串:
let text = "100, 1000 or 10000?";
let pattern = /\d{3,4}/g;
let result = text.match(pattern);亲自试一试 »正则表达式 {n,} 量词
x{n,} 匹配 n 或多个 x。
全局搜索至少包含三个数字的序列:
let text = "100, 1000 or 10000?";
let pattern = /\d{3,}/g;
let result = text.match(pattern);亲自试一试 »正则表达式方法
正则表达式的搜索和替换可以使用不同的方法。
以下是最常用的方法:
字符串方法
| 方法 | 描述 |
|---|---|
| match(regex) | 返回结果数组 |
| matchAll(regex) | 返回结果迭代器 |
| replace(regex) | 返回新字符串 |
| replaceAll(regex) | 返回一个新的字符串 |
| search(regex) | 返回第一个匹配项的索引 |
| split(regex) | 返回一个结果数组 |
正则表达式方法
| 方法 | 描述 |
|---|---|
| regex.exec() | 返回结果迭代器 |
| regex.test() | 返回 true 或 false |
