我尝试了这个,但它不起作用:
[^\s-]
任何想法?
答案 0 :(得分:78)
[^\s-]
应该有效,
[^-\s]
[]
:char类^
:在char类^
内部是
当它出现在开头的否定者。\s
:空白的缩写-
:一个字面连字符。连字符是一个
char类中的meta char但不是
当它出现在开头或
最后。答案 1 :(得分:51)
它可以更轻松地完成:
\S
等于[^ \t\r\n\v\f]
答案 2 :(得分:7)
您使用的是哪种编程语言?可能你只需要像“[^ \\ s - ]”
那样逃避反斜杠答案 3 :(得分: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"
正则表达式[^-\s]
按预期工作。 [^\s-]
也有效。
连字符可以在开始括号之后,或在右括号之前,或在否定插入符之后。
答案 4 :(得分:-5)
尝试[^- ]
,\s
将匹配空格旁边的其他5个字符(如制表符,换行符,换页符,回车符)。