Извлечение фрагмента из строки в PHP - PullRequest
0 голосов
/ 09 февраля 2012

Допустимые и ТОЛЬКО возможные форматы исходных строк: (цифры и буквы будут различаться)

  1. xxxx / xxxx / 0884/11 (х соответствует случайным буквам)
  2. xxxx / xxxx / 884/11 (х соответствует случайным буквам)
  3. 884/11
  4. 0884/11
  5. 7/11

Желаемые выходы после извлечения (соответственно):

  1. 0884
  2. 0884
  3. 0884
  4. 0884
  5. 0007

Можно ли сделать это немного аккуратно, возможно, с помощью регулярных выражений?

1 Ответ

0 голосов
/ 09 февраля 2012

Бла :) общее условие: (beginning of string ИЛИ characters than /) и после этого 1 to 4 numbers предварительное условие в PCRE: ^|\w+/, числа: \d{1,4}.

Собравшись вместе, вы получите это регулярное выражение: ~(^|\w+/)(\d{1,4})~, которое можно использовать с preg_match() в этом:

$match = array();
preg_match( '~(^|\w+/)(\d{1,4})~', $yourLine, $match);
// And pad it to left side with zeros:
$result = str_pad( $match[2], 4, '0', STR_PAD_LEFT);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...