我正在苦恼以下正则表达式
[A-z0-9]+
如果针对这个字符串进行测试:
||a919238[.--a]asd|
它返回a919238[
,包括方括号...我尝试输入我的正则表达式测试案例来了解问题出在哪里,但是该网站的正则表达式解释并没有帮助,可能是我无法看到自己的错误。
为什么结果中包括方括号?
我正在苦恼以下正则表达式
[A-z0-9]+
如果针对这个字符串进行测试:
||a919238[.--a]asd|
它返回a919238[
,包括方括号...我尝试输入我的正则表达式测试案例来了解问题出在哪里,但是该网站的正则表达式解释并没有帮助,可能是我无法看到自己的错误。
为什么结果中包括方括号?
因为
[A-z0-9]+
↑ ↑
字符范围从A
到z
,可以参考ASCII表格,]
出现在这两个字符之间:
[@-~]
。你有没有想过它为什么被布局成这样? - OJFord[A-Za-z]
而不是 [A-z]
:为了排除所有这些额外的字符。 - Brian J[, \, ], ^, _
。而且,后来当[a-z]
出现时,它们被添加在所有这些之后,以避免破坏标准。如果现在要构建这个表格,很可能会首先使用[a-z]
,然后是[A-Z]
等等... - Déjà vuA===>64
z===>122
[===>91
所以它在您定义的范围之间。请使用[A-Za-z0-9]+
\w
和[A-Za-z_]
并不等价。 - Slade您可以使用/[a-z0-9]+/i
(其中 i
是大小写不敏感的),或者/[A-Za-z0-9]+/
。
[a-Z]
更好 :-) - Bergi