[英]Javascript match() string letters which are indicated on regular expression of match
我有一個包含字符串的變量,我只想返回正則表達式中的字母(“ b” 和 “ D”)或我從match()返回的正則表達式中指示的任何字母。
var kk = "AaBbCcDd".match(/b|D/g);
kk.forEach(function(value,index){
console.log(value,index)
});
我的問題是我認為正則表達式是因為返回b和D,但索引不是kk
變量的索引,所以我不確定,為什么...所以有人可以幫助我,因為我被卡住了
javascript中的match
方法僅返回具有給定匹配項的數組: https : //developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/match
您將需要實現一個新函數,該函數將遍歷字符串的所有字符並返回給定的匹配索引。 此方法可以使用String.prototype中的函數search
: https : //developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/search
您必須編寫一個新函數來獲取匹配的正則表達式的索引,例如以下示例:
var re = /bar/g,
str = "foobarfoobar";
while ((match = re.exec(str)) != null) {
alert("match found at " + match.index);
}
希望這個能對您有所幫助
其實這就是答案:
var kk = "AaBbCcDd".match(/B?d?/g);
kk.forEach(function(value,index){
console.log(value,index)
});
如果有人會遇到這種情況...
match()
正則表達式B?d?
將返回一個數組,該數組指示初始數組kk的"B"
和"d"
的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.