目前,我的正则表达式允许使用多个空格和连字符,但根本不允许名称中一个接一个的空格和连字符。
当前,它允许多个空格和连字符:
vjbn-bjnlm-bnj-
gvjhb vgbhjk vghj
vgjbh-vgh vghb vghbj-
我如何将其调整为仅允许1个空间或每个连字符:
jhbn-vgbh vghjbj
我当前的正则表达式是:
/^[À-ÿA-Za-z]+(?:[À-ÿA-Za-z]+|([-' ])(?!\1))*/
答案 0 :(得分:3)
在一开始,您可以为.+-.+-
添加负前行,从而排除具有多个破折号的字符串,然后再次使用相同的模式来排除具有多个空格的字符串:
^(?!.+-.+-)(?!.+ .+ )[À-ÿA-Za-z]+(?:[À-ÿA-Za-z]+|([-' ])(?!\1))*
^^^^^^^^^^^^^^^^^^^^