我已经获得了用户名和姓的RegEx模式。它们只能包含字母字符,空格(0 - 任意),连字符(0 - 任意),撇号' (0 - 任意)和符号数1 - 40.名字和姓氏不能以'开头或空白
这是我的模式代码。
^^[a-zA-Z]+[\-\'\s]?[a-zA-Z ]{1,40}$
但RegEx现在允许使用此样本Endevald O' McKnight
答案 0 :(得分:2)
您可以使用
^(?=.{1,40}$)[a-zA-Z]+(?:[-'\s][a-zA-Z]+)*$
请参阅regex demo。
<强>详情
^
- 字符串的开头(?=.{1,40}$)
- 除了字符串中的换行符之外,必须有1到40个字符[a-zA-Z]+
- 一个或多个ASCII字母(?:
- 非捕获组的starto重复0次或更多次匹配序列
[-'\s]
- -
,'
或空白[a-zA-Z]+
- 1+ ASCII字母)*
- 分组结束$
- 字符串结尾