Каков наилучший способ создания динамического регулярного выражения для соответствия определенному набору символов (символы и их порядок, предоставляемые во время выполнения).Набор символов совпадения с регулярным выражением без предварительного дублирования
character set: abcd
character format: ??j? (question mark represents a a character from character set)
Пример
abjd = match
bdja = match
dbja = match
ab = no match
aajd = no match
abjdd = no match
abj = no match
Я создал регулярок строитель (в JS) следующим образом:
// characters are the character set
// wordFormat is the character format
// replace(str, search, replacement) replaces search in str with replacement
var chars = "[" + characters + "]{1}";
var afterSpecialConversion = replace(wordFormat, "?", chars);
var myRegex = new RegExp("^" + afterSpecialConversion + "$", "gi");
К сожалению, это не достижение результата, как он не учитывает повторяющиеся элементы. Я думал об использовании сопоставимых групп, чтобы избежать дубликатов, однако я не знаю, как свести на нет уже существующую группу символов из остальной части набора.
Также предоставляется набор символов aabcd
a
может существовать в два раза. Какие-либо предложения?