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

У меня был тот же вопрос, но потом у меня был момент «духа». Вместо записи

x ~ y

напишите

y ~ x

Очевидно, что это соответствует «x» вместо «y», но отвечает «есть ли совпадение?». вопрос и простой обход DOM могут привести вас к правильному элементу более эффективно, чем цикл в javascript.

Я понимаю, что исходный вопрос был вопросом CSS, поэтому этот ответ, вероятно, совершенно не имеет значения, но другие пользователи Javascript могут споткнуться на вопрос через поиск, как я.

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
поделиться
Другие вопросы по тегам:

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