2012-05-31 2 views
1

Я хочу совместить все, кроме новой строки, пробела и вкладки. Я знаю, что есть \S, но он говорит, что не использовать его в классах char, так как я могу сказать, что хочу все, кроме \S? Я хочу проверить, что строка, которую я имею, имеет хотя бы видимый символ.Сопоставьте все, кроме новой строки, пробела и вкладки

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

"Test 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); 
Смежные вопросы