允许 5-10 个字符但中间可以有空格的正则表达式不算在内

gwn*_*wnp 4 regex

问题

构建允许以下内容的正则表达式语句:

  1. 最少 5 个字符
  2. 最多 10 个字符
  3. 可以包含空格,但空格不会增加字符数
  4. 任何非空白字符都会增加字符数

测试用例:

 expected_to_pass = ['testa', ' test a', 12342, 1.234, 'test a']
 expected_to_fail = [' test', 'test ', ' test ', '     ', 1234, 0.1, '           ','12345678901']
Run Code Online (Sandbox Code Playgroud)

正则表达式示例及其目的

允许 5-10 个非空白字符:

[\S]{5,10}$
Run Code Online (Sandbox Code Playgroud)

无论空格如何,都允许 5-10 个字符:

[\s\S]{5,10}$
Run Code Online (Sandbox Code Playgroud)

我已经放屁了几个小时,想不出最好的方法来处理这个问题。

mak*_*iuk 7

这个怎么样?

\s*(?:[\w\.]\s*){5,10}+$
Run Code Online (Sandbox Code Playgroud)

或者:

\s*(?:[\w\.]\s*){5,10}$
Run Code Online (Sandbox Code Playgroud)

此外,如果任何非空白字符出现:

\s*(?:\S\s*){5,10}$
Run Code Online (Sandbox Code Playgroud)

你可以在这里测试