字符串第一个字符的正则表达式

时间:2011-02-11 19:29:09

标签: ruby-on-rails regex validation

在我的Rails应用程序中,我需要验证一个字符串,该字符串在创建时不能将其第一个字符清空或由任何特殊字符组成。

例如:“file”和“%file”无效。你知道我应该使用什么样的正则表达式吗?

谢谢!

3 个答案:

答案 0 :(得分:3)

以下正则表达式仅匹配字符串的第一个字母是字母,数字或“_”:

^\w

限制为字母或数字:

^[0-9a-zA-Z]

^在正则表达式中具有特殊含义,当它位于字符类([...])之外时,它匹配字符串的开头(不实际匹配任何字符)。

如果你想匹配所有无效字符串,可以在字符类中放置一个^来否定它,所以前面的表达式将是:

^[^\w]

^[^0-9a-zA-Z]

答案 1 :(得分:1)

交互式试用Ruby正则表达式的好地方是Rubular。我给出的链接显示了@Dave G给出的答案以及一些测试示例(乍一看似乎有效)。您可以扩展示例以进一步说服自己。

答案 2 :(得分:0)

正则表达式

^[^[:punct:][:space:]]+

应该做你想做的事。我不是100%确定Ruby提供的正则表达式和POSIX类支持,所以你的里程可能会有所不同。