所以我正在研究一些正则表达式,并在正则表达式中遇到了一些奇怪的行为.
我在正则表达式中有一个字符类,其中包含一堆字符(字母数字),并以空格,短划线和加号结束.使用以下正则表达式可以重现奇怪的行为.
^[ -+]*$
所以会发生什么是空间是有效的文本输入,所以是加号.但是,由于某种原因,破折号不是有效的文本输入.可以通过重新排列类中的字符来修复正则表达式,如下所示:
^[ +-]*$
现在所有字符都是有效输入.这已在Chrome中使用jsFiddle并使用Expresso进行了复制.
我的问题基本上是,我做错了什么或者这只是奇怪吗?