JavaScript String matchAll() 方法返回將字符串與正則表達式匹配的結果的迭代器。
用法:
str.matchAll(regexp)
在這裏,str
是一個字符串。
參數:
matchAll()
方法包含:
regexp
- 正則表達式對象(如果參數是非RegExp
對象,則參數隱式轉換為RegExp
)
注意:如果RegExp
對象沒有/g
旗幟,一個TypeError
將被拋出。
返回:
- 返回包含匹配項的迭代器,包括捕獲組。
注意:返回的迭代器的每個項目將具有以下附加屬性:
groups
- 命名捕獲組的對象,其鍵作為名稱,值作為捕獲的匹配項。index
- 找到結果的搜索索引。input
- 搜索字符串的副本。
示例 1:使用 matchAll()
const string = "I am learning JavaScript not Java.";
const re = /Java[a-z]*/gi;
let result = string.matchAll(re);
for (match of result) {
console.log(match);
}
輸出
[ 'JavaScript', index: 14, input: 'I am learning JavaScript not Java.', groups: undefined ] [ 'Java', index: 29, input: 'I am learning JavaScript not Java.', groups: undefined ]
在這裏,返回的迭代器使用for...of
循環進行迭代。
示例 2:使用 matchAll 捕獲組
const string = "My name is Albert. YOUR NAME is Soyuj.";
// expression matches case-insensitive "name is"+ any alphabets till period (.)
// using named capturing groups
const re = /name\sis\s(?<name>[a-zA-Z]+)\./gi;
let found = string.matchAll(re);
for (const match of found){
console.log(`Found "${match[0]}" at index ${match.index}. Captured name = ${match.groups['name']}`)
}
輸出
Found "name is Albert." at index 3. Captured name = Albert Found "NAME is Soyuj." at index 24. Captured name = Soyuj
在這裏,我們使用了正則表達式來匹配字符串的某個部分。我們可以使用 matchAll()
比 match()
更好地捕獲比賽中的某些組。
相關用法
- JavaScript String matchAll()用法及代碼示例
- JavaScript String match()用法及代碼示例
- JavaScript String slice()用法及代碼示例
- JavaScript String length用法及代碼示例
- JavaScript String padStart()用法及代碼示例
- JavaScript String fromCodePoint()用法及代碼示例
- JavaScript String link()用法及代碼示例
- JavaScript String blink()用法及代碼示例
- JavaScript String repeat()用法及代碼示例
- JavaScript String charCodeAt()用法及代碼示例
- JavaScript String endsWith()用法及代碼示例
- JavaScript String substr()用法及代碼示例
- JavaScript String charAt()用法及代碼示例
- JavaScript String normalize()用法及代碼示例
- JavaScript String search()用法及代碼示例
- JavaScript String trim()用法及代碼示例
- JavaScript String strike()用法及代碼示例
- JavaScript String fontsize()用法及代碼示例
- JavaScript String sub()用法及代碼示例
- JavaScript String fixed()用法及代碼示例
注:本文由純淨天空篩選整理自 Javascript String matchAll()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。