在Javascript中,是否可以僅提取正則表達式的某些部分?例如,如果我有正則表達式刪除正則表達式語句的部分
/\.\w+\s\{|\.\-\w+\s\{/
是否有可能刪除找到的全停止和大括號而不破壞匹配?
讓我這樣說吧;
我在尋找通過我的樣式表,找到使用上述正則表達式語句中的所有類,因此類總是以一個句點開始,我需要找到類的第一個大括號。一旦找到它,我只需要沒有完整停止和大括號的類的名字來存儲在哈希表中。
那麼有沒有辦法從我的答案中刪除這些?我試過了.replace方法,但爲了工作,我需要實際的字符串,我不能使用我已經存儲的變量。我也會附上我的代碼以幫助你們理解更多。提前致謝!
if (rules[j].constructor === CSSMediaRule) {
mqrule = rules[j].cssText;
console.log(mqrule);
lines = (mqrule).split('\n');
for (var c = 0; c < lines.length; c++) {
if (lines[c].match(/\.\w+\s\{|\.\-\w+\s\{/)) {
console.log("It works!");
console.log(lines[c].match(/\.\w+\s\{|\.\-\w+\s\{/));
newKey = lines[c].match(/\.\w+\s\{|\.\-\w+\s\{/);
//I'VE TRIED IT 2 WAYS BUT NEITHER WORK.
newKey = newKey.replace(".", "");
newKey = newKey.replace(/[^a-zA-Z0-9\.]+/g);
//ANY SUGGESTIONS?
MQHash[newkey] = newValue;
console.log(MQHash);
}
}
mqls['mql' + j] = window.matchMedia(rules[j].media.mediaText);
mqls['mql' + j].addListener(mediaChange);
mediaChange(mqls['mql' + j]);
}
很酷!謝謝,它工作! – Rafill