Regex在开始和和之间没有空白,只有一个空白



我正在创建一个用户输入表单,用户可以在其中输入自己的姓名,我想使用正则表达式来表示以下模式:

^[A-Za-z_äõÖÜß_.-]*

它只应该接受上面的字母,如果有,则接受句点,如果有则接受斜杠。

此外,我希望它接受空白,但不在开头,也不在结尾,并且名称部分之间只有一个空白。

例如,如果用户名是Dora F.T.Kov,则它应该是有效的。

如果我将\\s添加到正则表达式中,它允许在字符串中的任何位置使用任意数量的空格。

我该如何根据上述概念重写它呢?

提前非常感谢!

怎么样:

^[A-Za-z_äÄöÖüÜß_.-]+(?: [A-Za-z_äÄöÖüÜß_.-]+)*$

参见regex演示

  1. ^-匹配字符串的开头
  2. [A-Za-z_äÄöÖüÜß_.-]+匹配这些允许的字符中的一个或多个
  3. (?: [A-Za-z_äÄöÖüÜß_.-]+)*-后面出现0次或多次:单个空格后面跟着一个或多个允许的字符
  4. $-匹配字符串末尾

尝试:^[A-Za-z_äÄöÖüÜß_.-]*(?: [A-Za-z_äÄöÖüÜß_.-]*)*$

看到它在这里工作

最新更新