0

我正在使用 regex_match 验证姓氏

到目前为止我有这个,regex_match[/^[a-zA-Z -]{0,25}+$/]但我也想允许'像奥尼尔这样的名字。我试过了regex_match[/^[a-zA-Z -\']{0,25}+$/],但没有用

有什么建议么?

谢谢,J

4

2 回答 2

1

-\'是无效范围。您需要将破折号放在字符类的末尾:

/^[a-zA-Z '-]{0,25}$/

在这里+是多余的(在某些正则表达式中,它会激活“占有匹配”,但这里绝对不需要),反斜杠也是如此。

另外,我怀疑正则表达式周围的方括号在您使用的任何语言中的语法都不正确。(顺便问一下,那是哪一个?)

但真正的问题是您尝试验证名称(使用正则表达式,不少于)。

于 2013-01-25T20:10:43.090 回答
1

您不需要\转义',但您可能应该将破折号放在最后,这样它就不会创建范围。

您也不需要在+之后{0,25},它不是一个有效的正则表达式。

这对我来说很好^[a-zA-Z '-]{0,25}$

于 2013-01-25T20:12:08.037 回答