我有一个文本框,我在其中获取用户的姓氏。如何只允许一个连字符( - ),只允许一个空格(),正则表达式中只有一个撇号(')
答案 0 :(得分:1)
我不确定你需要一个正则表达式(除非你特别需要连字符,空格和撇号位于你未指定的字符串中的特定位置)。
只需按字符逐个字符串,然后计算连字符,空格和撇号。
正则表达式适用于匹配字符模式,并且可以非常强大,但恕我直言,在某些情况下,它们不仅过度,而且可能只是错误的工具。
答案 1 :(得分:1)
您可以为要避免的3个字符中的每一个使用negative lookahead:
^(?!.*-.*-.*)(?!.*'.*'.*)(?!.*\s.*\s.*)[a-zA-Z- ']+$