我想使用正則表達式來驗證名稱。名字必須包含名字,中間名,姓氏(不一定全是)。但我也想強加一個條件,即名稱必須至少有四個字符。我發現正則表達式來驗證這裏的全名Java Regex to Validate Full Name ...,並找到正則表達式來檢查字符串中的至少三個字符(字母)Regex to check for at least 3 characters。但我不知道如何將這兩者結合起來以獲得理想的結果。請幫助我實現所需的正則表達式,以便我可以完成我的項目。正則表達式來驗證具有至少四個字符的全名
回答
您可以使用
^[a-zA-Z]{4,}(?: [a-zA-Z]+){0,2}$
這將名字開始與兩個合作較低和較高的字母。
^
- 4個或更多ASCII字母(?: [a-zA-Z]+){0,2}
- - 串[a-zA-Z]{4,}
開始0-2次出現的空間,隨後與一個或多個ASCII字母$
- 字符串的結尾。
如果您需要限制的話,開始用大寫字母,您可以使用
^[A-Z][a-zA-Z]{3,}(?: [A-Z][a-zA-Z]*){0,2}$
非常感謝! – SKG
這可能是有點大材小用,但:
([A-Z][a-z]{3,})([A-Z][a-z]{3,})?([A-Z][a-z]{3,})
應該做的伎倆。 它匹配以大寫字母后跟3個或更多小寫字母開始的單詞 - >單詞長度爲4。中間名是可選的,並且姓氏不包含尾隨空白。
編輯:
如果你想支持 「花哨」 字符(AOU等),你可以閱讀細節this question。 使用從Java 7的圖案與UNICODE_CHARACTER_CLASS標誌的正則表達式應該是這樣的:
(\\p{Upper}\\p{Lower}{3,})(\\p{Upper}\\p{Lower}{3,})?(\\p{Upper}\\p{Lower}{3,})
它不會與我的名字做伎倆。 –
@WiktorStribiżew 請參閱[此問題](http://stackoverflow.com/a/4307261/4233265)瞭解有關使用「花哨」字符的名稱的正則表達式的信息。 – SilentStorm
我爲什麼要?我認爲這是你的答案。 –
- 1. 改變正則表達式來驗證該字符中的至少2是α-
- 2. 正則表達式來檢查至少3個字符?
- 3. 四個名字的正則表達式
- 4. 正則表達式全名驗證
- 5. 正則表達式必須至少有3個字母字符
- 6. 正則表達式來驗證用戶名與至少一個字母和特殊字符
- 7. 正則表達式來驗證名稱
- 8. 驗證正則表達式:確保它會匹配至少兩個字符
- 9. 至少x個數字字符的javascript正則表達式
- 10. 重寫正則表達式,網址具有至少一個字符
- 11. 必須至少有數量和字符的正則表達式
- 12. 正則表達式匹配至少一個符號和至少2個數字
- 13. 正則表達式來搜索每行至少2個字母
- 14. 正則表達式爲無字母,至少有1個數字
- 15. 具有至少一個字母的Java正則表達式模式
- 16. 正則表達式匹配單詞至少一個字符
- 17. php正則表達式匹配至少3個字符?
- 18. 正則表達式爲至少一個字符
- 19. 正則表達式匹配至少4個字符
- 20. javascript正則表達式需要至少一個特殊字符
- 21. 正則表達式匹配至少一個字符或空格
- 22. 正則表達式匹配每個字符至少一次
- 23. 正則表達式的字母數字,但至少有一個字符
- 24. 正則表達式來驗證字符串中的多個文件名
- 25. 正則表達式全名字段在jQuery驗證
- 26. 正則表達式模式來驗證字符串
- 27. 正則表達式驗證具有特定字符的字符串
- 28. 如何寫一個正則表達式來找到符合至少一個字
- 29. JavaScript的正則表達式來驗證複雜的字符串
- 30. 正則表達式來驗證至多2號和至多4個字母長度的字符串6
應該是什麼最後的結果?你有什麼嘗試?你在哪裏失敗? ''^ [\\ p {L} .'-] + $「'正則表達式允許一次或多次使用字母,空格,點,撇號和連字符。允許三個或更多的限定量詞是'{3,}'。現在什麼是有效和無效的情況? –
有效的例子必須是john c mather或者steve作業,但是無效的例子會像dj,po lice,mc dew carp等等,我的意思是說名字必須有至少四個字符串 – SKG
Try ['String pattern =「^ \\ PL {4}(?:\\ S + \\ PL +)?(?:\\ S + \\ PL +)?$「'](https://regex101.com/r/hY5bM1/1)。用'.matches()',你可以刪除'^'和'$'。請參閱[本演示](http://ideone.com/mGSfLf)。 –