在正则表达式中,量词用来指定某个模式的匹配次数。在 JavaScript 中,有几种不同的量词可以使用,包括 *、+、?、{n}、{n,}和{n,m}。
* 量词
* 量词表示匹配前面的模式零次或多次。换句话说,它匹配前一个元素零次或多次。例如,正则表达式 /a*/ 将匹配零个或多个连续的字母 a。
示例代码:
const pattern = /a*/; const str1 = "aaab"; const str2 = "bbb"; console.log(pattern.test(str1)); // true console.log(pattern.test(str2)); // true
+ 量词
+ 量词表示匹配前面的模式一次或多次。换句话说,它匹配前一个元素至少一次。例如,正则表达式 /a+/ 将匹配一个或多个连续的字母 a。
示例代码:
const pattern = /a+/; const str1 = "aaab"; const str2 = "bbb"; console.log(pattern.test(str1)); // true console.log(pattern.test(str2)); // false
? 量词
? 量词表示匹配前面的模式零次或一次。换句话说,它匹配前一个元素零次或一次。例如,正则表达式 /a?b/ 将匹配一个可选的字母 a 后跟一个字母 b。
示例代码:
const pattern = /a?b/; const str1 = "ab"; const str2 = "b"; const str3 = "bb"; console.log(pattern.test(str1)); // true console.log(pattern.test(str2)); // true console.log(pattern.test(str3)); // false
{n} 量词
{n} 量词表示匹配前面的模式恰好 n 次。例如,正则表达式 /a{3}/ 将匹配三个连续的字母 a。
示例代码:
const pattern = /a{3}/;
const str1 = "aaa";
const str2 = "aa";
console.log(pattern.test(str1)); // true
console.log(pattern.test(str2)); // false{n,} 量词
{n,} 量词表示匹配前面的模式至少 n 次。例如,正则表达式 /a{2,}/ 将匹配两个或更多连续的字母 a。
示例代码:
const pattern = /a{2,}/;
const str1 = "aa";
const str2 = "aaa";
const str3 = "a";
console.log(pattern.test(str1)); // true
console.log(pattern.test(str2)); // true
console.log(pattern.test(str3)); // false{n,m} 量词
{n,m} 量词表示匹配前面的模式至少 n 次,但不超过 m 次。例如,正则表达式 /a{2,4}/ 将匹配两个到四个连续的字母 a。
示例代码:
-- -------------------- ---- ------- ----- ------- - --------- ----- ---- - ----- ----- ---- - ------ ----- ---- - ------- ----- ---- - ---- -------------------------------- -- ---- -------------------------------- -- ---- -------------------------------- -- ---- -------------------------------- -- -----
以上就是 JavaScript 中常用的正则表达式量词的介绍和示例。希望这篇文章对你理解 JavaScript 正则表达式的量词有所帮助。