Хотя вы не можете сделать это с помощью ванильного JavaScript, возможно, вы можете использовать некоторую функцию Array.prototype
, например Array.prototype.reduce
, чтобы превратить индексированные совпадения в именованные, используя некоторую магию .
Очевидно, что следующее решение потребует, чтобы совпадения выполнялись по порядку:
// @text Contains the text to match
// @regex A regular expression object (f.e. /.+/)
// @matchNames An array of literal strings where each item
// is the name of each group
function namedRegexMatch(text, regex, matchNames) {
var matches = regex.exec(text);
return matches.reduce(function(result, match, index) {
if (index > 0)
// This substraction is required because we count
// match indexes from 1, because 0 is the entire matched string
result[matchNames[index - 1]] = match;
return result;
}, {});
}
var myString = "Hello Alex, I am John";
var namedMatches = namedRegexMatch(
myString,
/Hello ([a-z]+), I am ([a-z]+)/i,
["firstPersonName", "secondPersonName"]
);
alert(JSON.stringify(namedMatches));
У вас есть два варианта
ng g component fish-form --skipImport=true
. Это удалит ошибку, но не импортирует компонент. ng g component fish-form --module=app.module.ts