只允许使用数字,字母和破折号的正则表达式?

问题描述:

字符串的正则表达式没有空格,只有数字,字母和破折号是允许的?只允许使用数字,字母和破折号的正则表达式?

在此先感谢。

+1

此问题没有显示任何研究工作。 **做你的作业很重要**。告诉我们你发现了什么,***为什么它不符合你的需求。这表明你已经花时间去尝试帮助你自己了,它使我们避免重申明显的答案,最重要的是它可以帮助你得到更具体和相关的答案。 [FAQ](http://*.com/questions/how-to-ask)。 – 2013-04-10 17:58:33

+0

**尝试自己写一些东西**,然后如果它不起作用,请带给我们帮助你。你开始吧,我们帮忙。我们不会为你写信。向我们展示您尝试过的实际代码,然后我们可以从那里帮助您。如果你只是先尝试​​一下,你很可能会接近答案。 – 2013-04-10 18:37:17

试试用这个:^(?!)[0-9a-zA-Z-]*$。我用于测试的示例可以看到here

+0

'(?!)'是不必要的。如果第一个字符是空格,它只会阻止匹配,并且没有任何内容可以匹配空格。 – MikeM 2013-04-10 18:40:52

+0

@MikeM这是一个负面展望,说如果有任何空间,它会失败。这个空间位于何处并不重要。如果你看看我链接的例子,当字符串中的不同点有多个空格时,可以看到它将该字符串标记为失败。您可以快速添加传递字符串前面的空格,并且它会失败。 '(?!)'是必需的,并且防止任何空格传递。 – Walls 2013-04-10 18:44:56