在我的Rails應用程序中我需要驗證一個字符串,該字符串在創建時不能有其第一個字符爲空或由任何特殊字符組成。字符串第一個字符的正則表達式
例如:「文件」和「%文件」無效。你知道我應該使用哪種正則表達式嗎?
謝謝!
在我的Rails應用程序中我需要驗證一個字符串,該字符串在創建時不能有其第一個字符爲空或由任何特殊字符組成。字符串第一個字符的正則表達式
例如:「文件」和「%文件」無效。你知道我應該使用哪種正則表達式嗎?
謝謝!
下面的正則表達式將只匹配「_」:
^\w
要限制只能是字母或數字:
^[0-9a-zA-Z]
^
在正則表達式中具有特殊含義,當它位於字符類([...]
)之外時,它與字符串的開始匹配(沒有實際匹配任何字符)。
如果你想匹配所有無效的字符串,你可以放置一個^
字符類來否定它的裏面,所以以前的表述應該是:
^[^\w]
或
^[^0-9a-zA-Z]
正則表達式
^[^[:punct:][:space:]]+
應該做你想做的。對於Ruby提供的正則表達式和POSIX類支持,我不是100%確定的,所以你的里程可能會有所不同。如果字符串的第一個字母是字母,數字或
好交互式地嘗試Ruby正則表達式的地方是Rubular。我給出的鏈接顯示了@Dave G給出的答案以及一些測試示例(乍一看似乎起作用)。你可以擴展這些例子來進一步說服你自己。
另外,`[^ \ w]`等同於`\ W`。 – 2011-02-11 20:07:45