ue5963
6/21/2016 - 10:50 AM

『正規表現』ある文字列を含むが、ある文字列は含まない

『正規表現』ある文字列を含むが、ある文字列は含まない

http://demo.com/ に 「zzz=456」or「yyy=456」を含まないURLをマッチさせたい。

下記URLにはマッチしない。 var url = 'http://demo.com/fuga?xxx=123&yyy=456';

var url = 'http://demo.com/fuga?xxx=123&zzz=456';

これはマッチする。

var url = 'http://demo.com/fuga?xxx=123&ppp=456';


var reg = '^(?!.*(zzz=456|yyy=456)).*(?=http:\\/\\/demo.com\\/).*$';
url.match(new RegExp(reg));

/*
 * campaign=1058 を除外する
 * index.xxx  default.xxx のようなファイル名的的なやつは許容
 * ザ・ハンドや除外パラメータ以外のパラメータは許容する
*/

var url = '//madrex.com/#sprocket=xxx=vvv?aaaa=vvv&campaign=1059'
var reg = '^(?!.*(campaign=1058)).*(?=//madrex.com/(index\..+|default\.?.*)?(\\?.*)?(#.*)?$).*$';

url.match(new RegExp(reg));