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

时间:2020-08-15 01:04:53

标签: ios swift regex swift4 nsregularexpression

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

我使用的是"(?mi)^[A-Za-zÀ-ú](?!(?:.*\.\/\ ){2})(?!(?:.* ){10})(?!.*\.[a-z])[A-Za-zÀ-ú. '-]{5,99}[A-Za-zÀ-ú]$",但是接受多个空格和一些我不应该使用的名称

链接https://regex101.com/r/493eLF/12

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用以单个空格开头的重复组,然后重复1+次以上字符类中列出的字符。

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

如果不允许使用尾随空格,则可以在 *之前的末尾省略$

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

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

Regex demo