我使用此正则表达式:
let regex = /([a-z])|([A-Z])|([0-9])|([$!@.-])/gu;
要有4个四组(大写),(大写),(数字)和(特殊字符)。
对于这四个组,我使用一个循环,其中组为$ + 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 = @!-#{[{[@^~]
那是我的问题
答案 0 :(得分:0)
在正则表达式中,您可以匹配所有组,无论它们在哪里。
正则表达式应该像这样
([a-z]+)([A-Z]+)([0-9]+)([$!@.-]+)