我想驗證只用英文字母書寫的名稱。其他特殊字母如ç,é等不包括在內。正則表達式的名稱 - 大寫和無特殊字符
我的要求是:
- 每一個字應該用大寫字母(彼得·斯維德勒)
- 的一個字不應該有兩個大寫字母開頭(彼得·斯維德勒一定會失敗)
- 沒有數字是允許。 (Peter Svidler9或Peter 9 Svidler應該失敗)
- 不允許特殊字符。 (Peter Svidler或Peter S.vidler必須失敗)
- 需要匹配的案例: a。 R G S Devan或Achar K K S R(在開始或結束時允許儘可能多的首字母大寫) b。一個字或一個以上的字(錢德拉,錢德拉·謝卡爾拉朱,...)
我試圖通過2個表達
\b[A-Z].*?\b
和
^[a-zA-Z ]*$
驗證但它匹配PEter SVidler或PETER SVIDLER。
這怎麼解決?
使用'\ w'也允許'_'匹配。 '\ s'也會允許其他'whitespaces',所以使用單個空格。更好地使用'[A-Z]'是因爲這個需求僅僅是** **。 – 2016-01-23 19:55:02
@noob:好點,更新。 – Jan
好像你只替換了'\ w',因爲你還需要用'空格'替換'\ s'。因爲'\ s'也允許換行符。 – 2016-01-23 20:24:34