php - regex- preg_replace - пробел после переноса строки! - PullRequest
3 голосов
/ 02 мая 2010

все еще на регулярном выражении! я хочу выучить это, но я все еще врезаю голову в клавиатуру! ; -)

хорошо, очень тривиально для тебя, я уверен!

Предполагая, что у меня есть это жало, \s - это то место, где фактически находится пространство ... \n, где разрыв строки .. .. 1007 *

РЕДАКТИРОВАНИЕ:

   OTHERFIELD: Other text here...`\n`
   DESCRIPTION: The quick brown fox jum`\s\n`
   `\s`ps over the lazy dog
   OTHERFIELD: Other text here...`\n`

только для объяснения:

каждая строка всегда начинается со слова UPPERCASE, за которым следует двоеточие!

так что я могу разделить каждую строку только по последнему \n, поэтому я не могу удалить его!

тогда я делаю preg_splitting каждую очищенную строку с этим регулярным выражением

/$\R?[^A-Z:]*/m

, которые дают мне такой массив:

[DESCRIPTION] => The quick brown fox jumps over the lazy dog

Теперь, что мне нужно сделать, это удалить все пробел после A-Z:

, которого я достиг с помощью этого регулярного выражения: /\s+(?![A-Z:])/m, который дает этот результат

DESCRIPTION: The quick brown fox jum ps over the lazy dog

, как вы можете видеть, оно оставляет пространство между jum и ps

как получить такой результат?

DESCRIPTION: The quick brown fox jumps over the lazy dog

Спасибо за время!

1 Ответ

2 голосов
/ 02 мая 2010

Попробуйте это регулярное выражение:

/\s+\n\s+/

Это будет соответствовать пробелу, только если он окружает символ перевода строки. Возможно, вам придется настроить квантификаторы в соответствии с вашими фактическими данными.

...