Как использовать preg_match для тестирования на пробелы?

Как я использовал бы функцию php preg_match () для тестирования строки, чтобы видеть, существуют ли какие-либо пробелы?

пример

"это предложение было бы протестировано верное на пробелы"

"thisOneWouldTestFalse"

27
задан Peter Mortensen 20 November 2019 в 04:03
поделиться

4 ответа

Если вас интересуют пробелы (включая табуляции и т. Д.), Используйте \ s

if (preg_match("/\\s/", $myString)) {
   // there are spaces
}

, если вас просто интересуют пробелы, тогда вам даже не нужен regex:

if (strpos($myString, " ") !== false)
47
ответ дан 28 November 2019 в 05:04
поделиться

Мы можем также проверить на пробелы с помощью этого выражения:

/\p{Zs}/

Тест

function checkSpace($str)
{
    if (preg_match('/\p{Zs}/s', $str)) {
        return true;
    }
    return false;
}

var_dump((checkSpace('thisOneWouldTestFalse')));
var_dump(checkSpace('this sentence would be tested true for spaces'));

Вывод

bool(false)
bool(true)
<час>

, Если Вы хотите упростить/обновить/исследовать выражение, оно было объяснено на верхней правой панели regex101.com . Можно наблюдать шаги соответствия или изменить их в эта ссылка отладчика , если Вам было бы интересно. Отладчик демонстрирует что, как механизм RegEx мог бы шаг за шагом использовать некоторые демонстрационные входные строки и выполнит процесс соответствия.

0
ответ дан 28 November 2019 в 05:04
поделиться

Также см. этот вопрос StackOverflow , который посвящен этому.

И, в зависимости от того, хотите ли вы обнаруживать вкладки и другие типы пробелов, вы можете посмотреть синтаксис регулярных выражений Perl для таких вещей, как \ b \ w и [: SPACE:]

4
ответ дан 28 November 2019 в 05:04
поделиться

Вы можете использовать:

preg_match('/[\s]+/',.....)
1
ответ дан 28 November 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: