当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


TypeScript String matchAll()用法及代码示例


TypeScript,字符串值的 matchAll() 方法返回与字符串匹配的所有结果的迭代器正则表达式,包括捕获组。 matchAll() 方法与String match(),但 match() 仅返回第一个匹配项,并且不包含捕获组。

用法:

string.matchAll(regexp: RegExp): RegExpMatchArrayIterator

返回值:返回 RegExpMatchArrayIterator 对象,这是一个生成 RegExpMatchArray 对象(表示各个匹配的数组)的迭代器。

示例 1:演示使用 matchAll() 方法从给定字符串获取电子邮件。

Javascript


let text: string =
    "Please contact us at support@geeksforgeeks.org or at courses@geeksforgeeks.org";
let emailRegex = /\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\b/g;
let emails = text.matchAll(emailRegex);
for (const match of emails) {
  console.log("Found email address:", match[0]);
}

输出:

Found email address: support@geeksforgeeks.org
Found email address: courses@geeksforgeeks.org

示例 2:演示使用 matchAll() 方法从给定字符串获取产品 ID。

Javascript


let descriptions: string[] = [
  "Product 123 (ABC-DEF) is the best!",
  "Buy Product ID 456 now!",
  "This is not a product description.",
];
const idRegex = /\bProduct\s+(\d+)\b|\bID\s+(\w+)\b/g;
for (const description of descriptions) {
  const matches = description.matchAll(idRegex);
  for (const match of matches) {
    console.log("Product ID:", match[1] || match[2]);
  }
}

输出:

Product ID: 123
Product ID: 456


相关用法


注:本文由纯净天空筛选整理自pankajbind大神的英文原创作品 TypeScript String matchAll() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。