2014-03-25 83 views
1

使用正則表達式,我怎麼搭配有什麼匹配.PHP使用正則表達式

.php 

到底是什麼?我想:

^[^\.php]+$ 

但是,這似乎是比賽.php

+0

似乎是你在找什麼:http://stackoverflow.com/questions/5704061/php-reverse-preg-match – fabien

+0

胡姆,不能讓它工作。試過'^(?!(\。php $))'。 – Justin

+0

......這不像在這個例子中。 工作原理: $ filter =「.php $」; $ text =「stuff.php3」; (preg_match(「/ ^(?:(?!」。$ filter。「)。)* $/i」,$ text)){echo「yeahhh」; } – fabien

回答

2

使用negative lookahead在你的正則表達式來檢查是否有任何.php是否可用。

$text = 'some php text'; 
if(preg_match("/^(?!.*\.php)(.*)$/", $text, $m)){ 
    print_r($m[1]); 
} 

^是字符串的開始。

(?!.*\.php)是檢查是否有在前期沒有.php

而且(.*)$被捕獲的一切,直到結束。