Я хочу проверить строку и, после этого, получить все совпадения от некоторых групп.Получить соответствия от определенных групп
RegEx:
/^<[A-Za-z0-9]>::=(<[A-Za-z0-9]>)+(\|(<[A-Za-z0-9]>)+)+$/
Так что, если я получаю что-то вроде <A>::=<B><A>|<Y><A>|<Z>
справедливо, но если я получаю что-то вроде <A>::=<B>|
ложно.
Нет проблем с проверкой, проблема в том, что я хочу взять текст внутри <
и >
, потому что мне это нужно позже.
Так что, если я получаю <exparit>::=<number>|<number><exparit>
, то я хочу, чтобы получить ["exparit", "number", "number", "exparit"]
Мой код выглядит
Rules = {
"BNF" : /^<[A-Za-z0-9]>::=(<[A-Za-z0-9]>)+(\|(<[A-Za-z0-9]>)+)+$/
};
var checkBNF = function (bnf) {
if (Rules.BNF.test(bnf)) {
console.log('ok');
//How to get the text inside <and> ??
}
else {
console.log('no');
}
};
Я действительно ценю любую помощь, такую книгу, ссылку, пример или разрешение этой проблемы.
Спасибо!