我想匹配包含字母數字,連字符,下劃線和空格的字符串。正則表達式匹配字母數字,連字符,下劃線和空格字符串
連字符,下劃線,空格和數字是可選的,但第一個和最後一個字符必須是字母。
例如,這些都應該匹配:
abc
abc def
abc123
ab_cd
ab-cd
我嘗試這樣做:
^[a-zA-Z0-9-_ ]+$
,但它與空間匹配,在開始/結束下劃線或連字符,但它應該只允許在之間。
我想匹配包含字母數字,連字符,下劃線和空格的字符串。正則表達式匹配字母數字,連字符,下劃線和空格字符串
連字符,下劃線,空格和數字是可選的,但第一個和最後一個字符必須是字母。
例如,這些都應該匹配:
abc
abc def
abc123
ab_cd
ab-cd
我嘗試這樣做:
^[a-zA-Z0-9-_ ]+$
,但它與空間匹配,在開始/結束下劃線或連字符,但它應該只允許在之間。
入住小提琴http://refiddle.com/refiddles/56a07cec75622d3ff7c10000
這個工作這將解決這個問題
^[a-zA-Z]+[a-zA-Z0-9-_ ]*[a-zA-Z0-9]$
它需要空間在字符串的末尾:( –
我編輯了我的答案。請現在檢查它 – Thanga
根據你的,包括空格,連字符,下劃線和字母數字字符的要求,你可以使用\w
速記字符[a-zA-Z0-9_]
集。 。使用轉義連字符,因爲它通常用於字符集內的字符範圍。
爲了否定空格和連字符的開始和結尾,我使用了[^\s\-]
。
所以完整的正則表達式變得[^\s\-][\w \-]+[^\s\-]
Here是工作演示。
@Muddu Patil:我想你不想在開始或結束時使用空格,這就是爲什麼我使用'\ s'。 – 2016-01-21 07:12:12
post ur attempts ... –
我試過這個^ [a-zA-Z0-9-_] + $但是它在開始和結束時需要空間,下劃線和連字符,它應該允許空間在 –
之間http: //堆棧溢出。com/a/34916893/5678086 – Thanga