正则表达式问题与特殊字符

时间:2018-12-27 08:42:35

标签: javascript regex

我使用此正则表达式:

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 = @!-#{[{[@^~]

那是我的问题

1 个答案:

答案 0 :(得分:0)

在正则表达式中,您可以匹配所有组,无论它们在哪里。

正则表达式应该像这样

([a-z]+)([A-Z]+)([0-9]+)([$!@.-]+)