cod*_*ict 88

[^\s-]
Run Code Online (Sandbox Code Playgroud)

应该工作,所以会

[^-\s]
Run Code Online (Sandbox Code Playgroud)
  • [] :char类
  • ^:在char类^中,它是在开头出现时的否定符.
  • \s :白色空间的缩写
  • -:一个字面连字符.连字符是char类中的元字符,但不是在它出现在开头或结尾时.

  • @Aashiqahmed 不是当它出现在开头或结尾时 (2认同)

小智 56

它可以更轻松地完成:

\S 等于 [^ \t\r\n\v\f]


小智 7

你使用哪种编程语言?可能你只需要像"[^ \\ s-]"那样逃避反斜杠

  • @rudimenter:如果正则表达式是由字符串定义的,那么你需要转义反斜杠或者在.NET中使用像.NET中的`@"string"`或Python中的`r"string"`这样的逐字字符串. (8认同)
  • @rudimenter:Cagdas只是建议根据你的环境(你没有告诉我们)可能会有不同的行为. (3认同)

pol*_*nts 6

在Java中:

    String regex = "[^-\\s]";

    System.out.println("-".matches(regex)); // prints "false"
    System.out.println(" ".matches(regex)); // prints "false"
    System.out.println("+".matches(regex)); // prints "true"
Run Code Online (Sandbox Code Playgroud)

正则表达式[^-\s]按预期工作.[^\s-]也有效.

也可以看看