Я устал от страха от регулярных выражений. Тема этой публикации ограничивается реализацией регулярных выражений PHP, однако любые общие рекомендации по регулярному выражению, очевидно, будут оценены (т.е. Не путать меня с областью действия, которая не применима к PHP).
Следующие (я считаю) удаляет пробелы между числами. Может быть, есть лучший способ сделать это, но я все еще хочу понять, что происходит.
$pat="/\b(\d+)\s+(?=\d+\b)/";
$sub="123 345";
$string=preg_replace($pat, "$1", $sub);
Просматривая шаблон, моя интерпретация:
-
\b
Граница слов -
\d+
Подшаблон 1 или более цифр -
\s+
Одно или несколько пробелов -
(?=\d+\b)
Утверждение Lookahead одной или нескольких цифр, за которой следует граница слова? - Составляя все это вместе, ищем любую границу слова, за которой следует одна или несколько цифр, а затем некоторые пробелы, а затем выполняйте какое-то выражение на ней и сохраняете результаты в $1, чтобы он мог заменить шаблон?
Вопросы:
- Правильно ли это моя интерпретация?
- Что это заглавное утверждение?
- Какова цель ведущего
/
и конечного/
?