代码之家  ›  专栏  ›  技术社区  ›  balteo

javascript regex的问题不匹配少于3个字符

  •  1
  • balteo  · 技术社区  · 5 年前

    /^[^\s][a-z0-9 ]+[^\s]$/i
    

    aa 不匹配,但是 aaa

    3 回复  |  直到 5 年前
        1
  •  1
  •   Wiktor Stribiżew    5 年前

    你应该把表达式重写为

  • [a-z0-9]+ -1+letters/digits
  • $. -end of string.
  • 请参见 regex graph :”

    .

    /^[a-z0-9]+(?:\s[a-z0-9]+)*$/i
                  ^^ 
    

    细节

    • ^
    • [a-z0-9]+
    • (?:\s+[a-z0-9]+)* -0次或多次重复1+空格( \s+
    • $

    查看 regex graph

    enter image description here

  •     2
  •  2
  •   CertainPerformance    5 年前

    [^\s] (要求至少匹配一个非空白字符) [a-z0-9 ]+

    /^\b[a-z0-9 ]+\b$/i
    

    https://regex101.com/r/2GhH3N/1

        3
  •  2
  •   Valdi_Bo    5 年前

    尝试以下regex:

    ^(?! )[a-z0-9 ]*[a-z0-9]$
    

    • ^(?! ) 初始空间)。
    • [a-z0-9 ]*
    • [a-z0-9]$