PHP regex kullanarak

2 Cevap php

Ben bu çalıştı:

$mtcDatum = preg_match("/[0-9]{2}/[0-9]{2}/[0-9]{4}/", $lnURL);

Bu bir hata mesajı döndürür:

Uyarı: preg_match () [function.preg-match]: Unknown değiştirici '['

Bu neden çalışmıyor? Ben, regex yapıyor Linux'un şekilde alışkınım PHP kolu regex farklı yapar?

2 Cevap

PHP sözdizimi desen sonu olarak "/" karakteri yorumluyor. Sen öne eğik kaçmak gerekir:

preg_match("/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/", $lnURL);

Sen desen etrafında bir ayraç karakteri (bu herhangi bir değiştiricilerinden desen ayıran budur) gerekir. Normalde / kullanılır, ama bu maç için çalışıyoruz dize parçası olarak, bu tür # olarak başka bir karakter kullanabilirsiniz:

$mtcDatum = preg_match("#[0-9]{2}/[0-9]{2}/[0-9]{4}#", $lnURL);