关于regex:[A-Z0-9]+regexp匹配方括号

[A-z0-9]+ regexp matching square brackets

本问题已经有最佳答案,请猛点这里访问。

我正在为下面的regexp做斗争

1
[A-z0-9]+

如果使用此字符串进行测试:

1
||a919238[.--a]asd|

返回a919238[,包括方括号。我试着在regex101上输入我的测试用例来理解哪里出了问题,但是站点regex的解释没有帮助,可能我看不到我的错误。

为什么方括号包含在结果中?


因为

1
2
[A-z0-9]+
 ↑ ↑

是从Az,见ascii表,]出现在两个字符之间:

enter image description here


1
2
3
A===>64
z===>122
[===>91

所以它在您定义的范围内。使用[A-Za-z0-9]+


您可以使用/[a-z0-9]+/i(i使其不区分大小写)或/[A-Za-z0-9]+/