Я использую это регулярное выражение:
let regex = /([a-z])|([A-Z])|([0-9])|([$!@.-])/gu;
Иметь в четырех четырех группах (верхний регистр), (верхний регистр), (число), (специальный символ).
Для этих четырех групп я использую цикл, в котором группы составляют $ + i до пяти:
arrayGroup.push(valueToCompare.replace(stringRegex, "$" + i));
Моя проблема заключается в следующем:
Когда я использую, например, # {[| `\ ^ @] (все специальные символы), совпадения в четырех группах.Я не понимаю, почему?
Пример с этой строкой:
let string = "groupGROUP123@!-"
$1 = group
$2 = GROUP
$3 = 123
$4 = @!-
Здесь все в порядке.Теперь с другими специальными символами, не указанными в регулярном выражении
let string = "groupGROUP123@!#{[{[@^~]-"
$1 = group#{[{[@^~]
$2 = GROUP#{[{[@^~]
$3 = 123#{[{[@^~]
$4 = @!-#{[{[@^~]
Это моя проблема