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

正则表达式,用于匹配不以空格开头和/或结尾但允许使用中间空格的字符串

  •  3
  • hIpPy  · 技术社区  · 12 年前

    我需要一个正则表达式来不匹配以空格开头和/或结束的字符串,而是在空格之间匹配。我不是正则表达式专家。

    如果需要,我可以使用2个正则表达式。

    注意:使用 . 用于在示例中显示空间。

    匹配为false

     .text.
     ..text
     text..
     ..te.xt..
    

    匹配适用于

     text
     te..xt
    

    我想到了这个。它只匹配起始空格。

    ^(?!\s+).*$
    
    3 回复  |  直到 12 年前
        1
  •  7
  •   Scott Wegner    12 年前

    您可以使用 \S 具有的字符类 ^ $ 锚。

    ^\S(.*\S)?$
    

    可选 .*\S 需要分组来匹配单个非空格字符。

        2
  •  1
  •   Shane Andrade    12 年前

    匹配你不想要的东西,然后否定它可能会更容易:

    !Regex.IsMatch(input, @"(^\s)|(\s$)")
    
        3
  •  -2
  •   kyrylomyr    6 年前

    这种模式应该能起到作用:

    ^\s*.*?\s*$
    

    以及用法:

    Regex.IsMatch(input, @"^\s*.*?\s*$");