字符串第一个字符的正则表达式
问题描述:
在我的Rails应用程序中我需要验证一个字符串,该字符串在创建时不能有其第一个字符为空或由任何特殊字符组成。字符串第一个字符的正则表达式
例如:“文件”和“%文件”无效。你知道我应该使用哪种正则表达式吗?
谢谢!
答
下面的正则表达式将只匹配“_”:
^\w
要限制只能是字母或数字:
^[0-9a-zA-Z]
^
在正则表达式中具有特殊含义,当它位于字符类([...]
)之外时,它与字符串的开始匹配(没有实际匹配任何字符)。
如果你想匹配所有无效的字符串,你可以放置一个^
字符类来否定它的里面,所以以前的表述应该是:
^[^\w]
或
^[^0-9a-zA-Z]
答
正则表达式
^[^[:punct:][:space:]]+
应该做你想做的。对于Ruby提供的正则表达式和POSIX类支持,我不是100%确定的,所以你的里程可能会有所不同。如果字符串的第一个字母是字母,数字或
另外,`[^ \ w]`等同于`\ W`。 – 2011-02-11 20:07:45