2015-05-15 2 views
0
<?php 
    $str='00160.Day'; 
    $pattern = "/(.+?)('.Day')/i"; 
    $replacement = "\${1}"; 
    print preg_replace($pattern, $replacement, $str); 
?> 

Почему вывод 00160.Day, а не 00160? Что случилось с моим минимальным регулярным выражением?Почему минимальное совпадение неверно?

+0

'('.Day')' <- Просмотреть одинарные кавычки в нем? Если вы удалите их обоих, вы получите 200pt. + ваш код будет работать, ** кто бы мог подумать? ** – Rizier123

+0

Может быть, вы хотите использовать функцию explode или preg_split, а не регулярное выражение –

ответ

4

Отдельная цитата ' вокруг дня является причиной неожиданного выхода. . также следует избегать. Используйте шаблон ниже.

"/(.+?)(\.Day)/i"; 
+0

* ПОЧЕМУ *, должен ли OP использовать этот шаблон, что другое? Почему вы его изменили? – Rizier123

Смежные вопросы