到目前为止:
Shawn-Shawn
但这不需要:
Shawn-Shawn-Shawn
这是我的正则表达式,很好奇为什么一个可选项不允许它,即使它仍然以一个字符结尾
/^[a-z]+[\-]?[a-z]+$/i
答案 0 :(得分:2)
您可以使用此正则表达式:
/^[a-z]+(?:-[a-z]+)*$/i
非捕获组(?:-[a-z]+)*
允许0个或更多个连字符后跟字母0次或更多次匹配,从而允许输入中的多个连字符以字母分隔,但不是这些情况:
-
答案 1 :(得分:1)
这可能会这样做,它允许添加任意数量的词:
^[a-z]+([\-]?[a-z]+)+$
https://regex101.com/r/aF4pL2/1
编辑:下面的评论显示了这个问题,我赞成了另一个答案