我正在寻找要在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
在此先感谢您的帮助。
答案 0 :(得分:0)
您可以使用以单个空格开头的重复组,然后重复1+次以上字符类中列出的字符。
要验证字符串的长度,可以在字符串的开头使用正向超前。
如果不允许使用尾随空格,则可以在 *
之前的末尾省略$
如果还允许使用单个大写字符,则可以将第一个[A-Za-zÀ-ú.'-]+
的量词更改为*
^(?=.{2,100}$)[A-Za-zÀ-ú][A-Za-zÀ-ú.'-]+(?: [A-Za-zÀ-ú.'-]+)* *$