2013-11-27 3 views
1

извините, я плохо разбираюсь в php, это может быть очень очевидная ошибка. Я пытаюсь это:php preg_match не дает результата?

$datum = "Samstag, 26.10.2013"; 
    echo("<p>".$datum."</p>"); 

    $regresult = preg_match("(.*)([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,4})",$datum, $matches); 
    echo("<p>Result: ".$regresult."</p>"); 
    echo("<p>Error: ".preg_last_error()."</p>"); 
    echo("<p>Match: ".$matches[2]."</p>"); 

и результат:

<p>Samstag, 26.10.2013</p><p>Result: </p><p>Error: 0</p><p>Match: </p> 

, но в документации preg_match он говорит:

preg_match() возвращает 1, если шаблон совпадает данный предмет, 0, если он не имеет значения, или FALSE, если произошла ошибка.

Кто-нибудь знает, что я делаю неправильно?

+0

Я получаю предупреждение, в котором говорится: «preg_match(): Неизвестный модификатор '('". Вы их подавили? – mpen

ответ

4

Вам не хватает delimeters.

preg_match требует от вас сделать что-то вроде этого

preg_match('/{pattern}/', $subject); 

В этом случае я использовал / как мои разделители.

Пример: точно соответствовать 3 цифры

preg_match('/\d{3}/', $subject); 

If you check out php's documentation on preg_match you can see other examples

редактировать:

Php родной даты функции времени ссылки ссылки:

strtotime

date/time formats

date

time

+0

спасибо, что работает. все еще: выход из preg_last_error() не соответствует документации :-( – EasterBunnyBugSmasher

+0

@DirkHaase вы можете найти полезные функции преобразования даты и времени php (они возвращают false, когда они передают плохие данные datetime и могут использоваться, чтобы принимать почти все формат даты/времени, который вы хотите, и конвертировать или проверять, просто убедитесь, что вы передаете только часть строки, которая содержит дату/время). Я обновляю свой ответ с помощью ссылок ссылки. – echochamber

2

Вы должны использовать разделители / в регулярных выражений схеме:

preg_match("/(.*)([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,4})/", $datum, $matches); 
      ↑          ↑ 
     delimeter        delimeter 

См this demo - это работает ...

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