一直以为正则方括号内的短横线是要转义的,例:
[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