當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。