簡體   English   中英

在match的正則表達式上指示的Javascript match()字符串字母

[英]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中的函數searchhttps : //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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM