[A-z0-9] +正则表达式匹配方括号

BeN*_*ErR 50 regex

我正在努力应对以下正则表达式

[A-z0-9]+
Run Code Online (Sandbox Code Playgroud)

如果对此字符串进行测试:

||a919238[.--a]asd|
Run Code Online (Sandbox Code Playgroud)

它返回a919238[,包括方括号..我试图在regex101上输入我的测试用例以了解什么是错的,但网站正则表达式的解释没有帮助,可能我无法看到我的错误.

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

Mar*_*oun 113

因为

[A-z0-9]+ 
 ? ? 
Run Code Online (Sandbox Code Playgroud)

Az,看到ASCII表中,]两个角色之间出现:

在此输入图像描述

  • @OllieFord你可以单独用第五位在大小写之间切换. (8认同)
  • 这就是为什么你经常看到`[A-Za-z]`而不是`[Az]`:排除所有这些额外字符的原因. (7认同)

vks*_*vks 19

A===>64
z===>122
[===>91
Run Code Online (Sandbox Code Playgroud)

所以它介于你定义的范围之间.使用 [A-Za-z0-9]+

  • 太棒了,我也想从结果中删除方括号,谢谢! (2认同)

Aho*_*sik 8

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