[英]Regex for string first chars
在我的Rails應用中,我需要驗證一個字符串,該字符串在創建時不能將其第一個字符清空或由任何特殊字符組成。
例如:“ file”和“%file”無效。 您知道我應該使用什么正則表達式嗎?
謝謝!
以下正則表達式僅在字符串的首字母為字母,數字或'_'時才匹配:
^\w
限制為僅字母或數字:
^[0-9a-zA-Z]
^
在正則表達式中具有特殊含義,當它在字符類( [...]
)之外時,它與字符串的開頭匹配(實際上不與任何字符匹配)。
如果要匹配所有無效字符串,可以在字符類中放置一個^
來取反,因此以前的表達式為:
^[^\w]
要么
^[^0-9a-zA-Z]
交互式嘗試Ruby正則表達式的一個好地方是Rubular 。 我給出的鏈接顯示了@Dave G給出的答案以及一些測試示例(乍一看似乎可行)。 您可以擴展示例以進一步說服自己。
正則表達式
^[^[:punct:][:space:]]+
應該做你想要的。 對於正則表達式和POSIX類支持,我不確定100%Ruby提供了什么,因此您在這方面的工作可能會有所不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.