2012-04-19 5 views
0

前に別の値が指定されていない場合は、値にのみ一致する正規表現を作成できますか?たとえば、?の前に.phpがない場合はtrueをテストします。次のように:正規表現は前の値に基づいて一致します

/(?!\.php)\?/.test('mypage.php?call=here') == false; 
/(?!\.php)\?/.test('otherpage.asp?call=here') == true; 

私は先読み?!?:を使用してみましたが、これまでの作品の組み合わせを見つけることができませんでした。

+0

先読みは必要ありませんが、javascript regexesではサポートされていません。 – kirilloid

+0

だからこれは欲しい: '?'がなければマッチする。 '?'がある場合、 '?'の前に '.php'を付けることはできません。 –

+0

@WordsLikeJaredうん、かなり。 –

答えて

2

これは、どちらかがそれらで?を持っている、または.phpが付け加えていない?を持っていない文字列にマッチします:

^(?!.*\.php\?) 

そしてここにもであることを?が必要になりますバージョンです。文字列:

^(?!.*\.php\?).*\? 
+0

がきれいです。 2つ目は完全に動作します。 –

関連する問題