基本上我想這樣做:有沒有一種優雅的方式將變量名稱中的單詞提取到數組中?
我得到一個字符串"myVariableName"
並把它變成:["my", "variable", "name"]
我試着這樣做使用正則表達式,但我得到在我結束數組很多undefineds的好像。在這種情況下,變量名稱的兩種可能情況是駝峯案和上蛇案。
const matchVariableNames = /(\b[a-z]+)|([A-Z][a-z]+)|(\b[A-Z]+)|(_[A-Z]+)/g;
const variableName = 'myVariable';
let words = [];
let regexMatches;
while (regexMatches = matchVariableNames.exec(variableName)) {
regexMatches.forEach((match) => {
words.push(match);
});
};
輸出:
["my", "my", undefined, undefined, undefined, "Variable", undefined, "Variable", undefined, undefined]
undefined
' 「myVariableName」 .match(/((:^ | [AZ])[AZ] +)/ G?)'技術上的一些非字母字符作爲VAR名接受的,但是這取決於這可能就夠你var命名約定 –
或更好的重複:https://stackoverflow.com/questions/13720256/javascript-regex-camelcase-to-sentence – mplungjan
'console.log( 「myVariableName」 .replace(/^[az] | [AZ]/g,函數(v,i){ )' – mplungjan