我目前需要允许" - "登录此正则表达式^[a-zA-Z0-9]*$
。
答案 0 :(得分:1)
只需将其添加为左括号后的第一个字符:^[-a-zA-Z0-9]*$
或者,将一个或多个字母/数字与短划线相匹配:^[a-zA-Z0-9]+-[a-zA-Z0-9]+$
答案 1 :(得分:0)
您可以使用这样的正则表达式:
^[a-z\d]+[-a-z\d]+[a-z\d]+$
<强> Working demo 强>
我们的想法是使用不敏感的标记来避免使用A-Za-z
并仅使用a-z
。并使用\d
作为0-9
的快捷方式。
因此,基本上正则表达式由三部分组成:
^[a-z\d]+ ---> Start with alphanumeric characters
[-a-z\d]+ ---> can continue with alphanumeric characters or dashes
[a-z\d]+$ ---> End with alphanumeric characters
答案 2 :(得分:0)
可以在打开支架之后[或在关闭支架之前]立即包含连字符 ]在角色类中。您不应该包含在字符类的中间,否则它将被视为范围字符,并且某些正则表达式引擎也可能不起作用。
在您的情况下,两者都是有效的解决方案
(^[-a-zA-Z0-9]*$) - Starting of the Char class
(^[a-zA-Z0-9-]*$) - End of the Char class
<强>演示:强>
http://regex101.com/r/yP3sH7/2