-5

我有一个文本框,我可以在其中获取用户的姓氏。如何在正则表达式中只允许一个连字符 (-)、一个空格 ()、一个撇号 (')

4

2 回答 2

1

我不确定您是否需要正则表达式(除非您特别需要连字符、空格和撇号位于您未指定的字符串中的特定位置)。

只需逐个字符地遍历字符串并计算连字符、空格和撇号。

正则表达式非常适合匹配字符模式,并且功能非常强大,但恕我直言,在某些情况下,它们不仅是矫枉过正,而且可能只是适合这项工作的错误工具。

于 2013-04-05T06:31:11.413 回答
1

您可以对要避免的 3 个字符中的每一个使用负前瞻:

^(?!.*-.*-.*)(?!.*'.*'.*)(?!.*\s.*\s.*)[a-zA-Z- ']+$
于 2013-04-05T06:36:22.330 回答