Regex 正则表达式在开始或结束时不允许空白,但允许中间空白、空白和任何6-20个字符?

Regex 正则表达式在开始或结束时不允许空白,但允许中间空白、空白和任何6-20个字符?,regex,Regex,我使用^$|^[^\s]+(\s+[^\s]+)*$来实现: 开始或结束处无空白允许空白 中间空间 空字符串 但是我怎样才能把量词限制在6-20之间呢 以下内容应该通过 "" <-- (empty string) "中文" <-- ( any character) "A B" <-- (allow space in middle) "hi! Hello There" 这样的正则表达式怎么样 ^$|^\S.{4,18

我使用
^$|^[^\s]+(\s+[^\s]+)*$
来实现:

  • 开始或结束处无空白允许空白
  • 中间空间
  • 空字符串
  • 但是我怎样才能把量词限制在6-20之间呢

    以下内容应该通过

    ""              <-- (empty string)
    "中文"          <-- ( any character)
    "A B"          <-- (allow space in middle)
    "hi! Hello There"
    
    这样的正则表达式怎么样

    ^$|^\S.{4,18}\S$
    


    您可以使用此正则表达式:

    ^(?:\S.{4,18}\S)?$
    
    ^(?:\S.{4,18}\S)?$