一直以为正则方括号内的短横线是要转义的,例:

[a-z\-]

其实“-”在紧挨边界的时候不需要转义,也就是说可以写成:

[a-z-] 或 [-a-z]

经过自己验证,我们暂且称“a-z”为“组”,结论是“在方括号边界或是组边界的都不需要转义。”

[a-z-0-9]

再试一试发现这样也可以,这样结论又变成“只要短横线(-)不能构成组,就可以不专一”,不知道这样说是否严密。

[a-z!-0-9] 或 [a-z!-@0-9]

 

以上结论没有试过多种语言的结果是否一致。

至于何时转义,如果弄不清,还是统统转义吧!

 

----------------------------------------------我是分割线-----------------------------------------------

^[\w]-$   表示字母数字下划线+短横杠

via.http://blog.csdn.net/evilcry2012/article/details/52997686