回答
下面的正則表達式應該是你正在尋找(下文解釋):
\A[-\w.]*\z
以下字符類應該僅匹配要允許字符:
[-a-zA-z0-9_.]
您可以縮短這對因爲\w
以下是相當於[a-zA-z0-9_]
:
[-\w.]
需要注意的是,包括你的性格類文字-
,它需要是第一個字符,否則它將被解釋爲一個範圍(例如[a-d]
相當於[abcd]
)。另一種選擇是用反斜槓轉義它。
通常.
意味着除換行符之外的任何字符,並且您需要將其轉義以匹配文字句點,但在字符類中這不是必需的。
的\A
和\z
是錨開始和結束的字符串,否則你將匹配,而不是包含只有允許的字符字符串包含任何允許的字符字符串。
*
表示零個或多個字符,如果您希望它需要一個或多個字符,則將*
更改爲+
。
/\A[\w\-\.]+\z/
\w
意味着字母數字(不區分大小寫)和 「_」\-
裝置破折號\.
意味着週期\A
裝置開始(甚至比^
「更強」)\z
意味着結束(甚至比「0123更強」)
例如:
>> 'a-zA-z0-9._' =~ /\A[\w\-\.]+\z/
=> 0 # this means a match
修訂感謝phrogz改進
您可能希望將其封裝在'/ \ A ... \ z /'中,以便OP可以確保具有有效子字符串的無效字符串不匹配。另外,當你使用'\ w'時'''是不必要的。 – Phrogz
Seamus:謝謝! – user984621
- 1. 只允許字母,數字,下劃線或連字符django
- 2. 只允許在字符串中使用字母數字,短劃線,下劃線和句點(Javascript)
- 3. Modrewrite允許數字,字母,下劃線
- 4. 使用帶連字符和下劃線的字母數字
- 5. 正則表達式只允許字母,數字,圓點,下劃線,短劃線。至少5個字符
- 6. 如何獲得字母+數字+下劃線之間的字符串。和(
- 7. 允許小數點/句點輸入字段允許的字符
- 8. 只允許字母數字字符
- 9. 允許一些特殊字符和字母數字字符
- 10. jQuery只允許數字,字母和連字符
- 11. 我想從字符串中刪除特殊符號,句點,連字符,下劃線和數字 - PHP
- 12. 如何用下劃線替換字符串的字母?
- 13. 只允許字母,數字,變音符號,+, - ,並在字符串
- 14. 連字符和下劃線以及PHP格式的字母
- 15. 允許我的字符串中的數字,字母和任何符號
- 16. 如何過濾字符串,以便只允許字母數字字符通過
- 17. 在Javascript中,如何檢查字符串是否只有字母+數字(允許下劃線)?
- 18. URL重寫正則表達式允許字母數字下劃線和連字符
- 19. 正則表達式只允許字母數字,逗號,連字符,下劃線和分號
- 20. 如何僅允許按鍵上的字母數字和下劃線
- 21. 只允許在字母數字和字符之間使用一個字符串
- 22. NG模式只允許字母,數字,點,下劃線和破折號
- 23. 只允許字母和特殊字符
- 24. 如何刪除一切,但允許字母,數字和下劃線?
- 25. 正則表達式匹配字母數字,連字符,下劃線和空格字符串
- 26. 如何確保Bash字符串是字母數字,沒有下劃線?
- 27. 僅在字母數字字符後才允許特殊字符?
- 28. 允許使用字母數字,標點符號和空格
- 29. 如何將字符串拆分爲字母字符串和數字字符串?
- 30. 正則表達式(連字符,下劃線和句點)
F.J:謝謝! – user984621
我喜歡你的解釋,但這不適用於我。@ seamus-abshere的答案很好。 – monteirobrena
這將如何在JavaScript上工作? – Louie