2012-05-31 36 views
1

我想匹配除换行符,空格和制表符之外的所有内容。我知道有\S,但它说不在char类中使用它,所以我怎么说我想要除\S之外的所有东西?我想检查的是,我有至少有任何可见的字符串。匹配除换行符,空格和制表符以外的所有内容

Test 1234  --> should be found 
____ (spaces) --> should not be found 
+1

“测试1234” 包含空格。 “\ S +”不会匹配全部,但如果运行多个匹配,则可以加工单个单词。 –

+0

你的意思是你想确保字符串不完全由空格组成吗? –

回答

2

\S就够了,它匹配任何东西但是有空格。

preg_match('/\S/', $subject); 
+0

对我而言,它足以查看是否至少有它找到的东西......我首先没有看到这一点,谢谢。 – EOB

+0

嗯...测试[在线](http://writecodeonline.com/php/)它的工作原理是'preg_match('/ \\ S /',$ subject);' –

+0

@EugeneRyabtsev'/ \ S /'很好,你的链接不会提供任何信息。 – xdazz

0

字符类是这些:[]东西与他们的所有内容,按照tutorial,所以方括号外面这应该匹配得很好,你想要什么。

0
preg_match_all('/([^\n\s]+)/', $str, $m); 

print_r($m); 
相关问题