Swift4 中的正则表达式来验证全名

Regex in Swift4 to validate fullname

我正在寻找在 Swift 中使用的正则表达式来验证全名。我正在寻找至少包含 2 个字符且最多包含 100 个字符的正则表达式 - 接受重音符号、破折号 (-) 和撇号 (') 并且没有其他特殊字符 - 大写和小写字母并且没有数字。 - 不得以空格 space 开头,并且名称之间的空格 space 不能超过 1 个。

我正在使用这个 - "(?mi)^[A-Za-zÀ-ú](?!(?:.*\.\/\ ){2})(?!(?:.* ){10})(?!.*\.[a-z])[A-Za-zÀ-ú. '-]{5,99}[A-Za-zÀ-ú]$" 但接受了不止一个 space 和一些我不应该使用的名字

link https://regex101.com/r/493eLF/12

提前感谢您的帮助。

您可以使用以单个 space 开头的重复组,然后将字符 class.

中列出的字符重复 1 次以上

要验证字符串长度,您可以在字符串的开头使用正向先行。

如果不允许尾随 space,您可以在 $

之前的末尾省略 *

如果也允许单个大写字符,您可以将第一个 [A-Za-zÀ-ú.'-]+ 的量词更改为 *

^(?=.{2,100}$)[A-Za-zÀ-ú][A-Za-zÀ-ú.'-]+(?: [A-Za-zÀ-ú.'-]+)* *$

Regex demo