Проблема с обнаружением косой черты в шаблоне регулярных выражений preg_replace - PullRequest
0 голосов
/ 20 июля 2010

Я запускаю preg_replace по строке, которая может содержать номера улиц.Шаблон, который я использую:

([A-Za-z0-9]*)/i

Это прекрасно работает для чисел, таких как 1, 1a, 123 и т. Д.

Однако он не подбирает номера улиц, такие как 1 / 54B

Я пытался добавить косую черту к шаблону, например так:

([A-Za-z0-9\/]*)/i

Но он не собирает цифры вроде 1 / 54B.

Любые идеи о том, чтоЯ должен использовать?

Ответы [ 2 ]

4 голосов
/ 20 июля 2010

Попробуйте

preg_replace('#([A-Za-z0-9/]*)#i', $repl, $subj);

Использование альтернативных разделителей делает это намного проще.

0 голосов
/ 20 июля 2010

Я понял, что в этом примере я упустил из виду, что прямая косая черта переводилась в код, дружественный к URL (% 2F), поэтому

([A-Za-z0-9\%]*)/i

сработало в этой ситуации.Да, я чувствую себя глупо.

Спасибо Мэтью за его полезный совет.Собираюсь подать это.

...