Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript匹配-包含任何包含2个关键字的内容,忽略任何包含1个关键字的内容_Javascript_Regex_Match - Fatal编程技术网

Javascript匹配-包含任何包含2个关键字的内容,忽略任何包含1个关键字的内容

Javascript匹配-包含任何包含2个关键字的内容,忽略任何包含1个关键字的内容,javascript,regex,match,Javascript,Regex,Match,如果包含“jpg”或“png”,我希望包含一个字符串,但如果包含“http”,则排除该字符串 我一直在尝试以下内容,但如果它同时包含http和png或jpg,则仍然包含字符串: myString.match(/(?!http)(jpg|png)/i) 预期输入为http://s3-eu-west-1.amazonaws.com/bucket/1512491455764.png?Signature=signature 由于它同时包含http和png,因此该字符串将被忽略/从您可能使用的正则表达式返

如果包含“jpg”或“png”,我希望包含一个字符串,但如果包含“http”,则排除该字符串

我一直在尝试以下内容,但如果它同时包含http和png或jpg,则仍然包含字符串:

myString.match(/(?!http)(jpg|png)/i)

预期输入为
http://s3-eu-west-1.amazonaws.com/bucket/1512491455764.png?Signature=signature

由于它同时包含http和png,因此该字符串将被忽略/从您可能使用的正则表达式返回false

/^(?!.*http).*(jpg|png)/i
详细信息

  • ^
    -字符串的开头
  • (?!*http)
    -在允许任何0+字符(当前位置右侧的换行字符除外)之后,不允许使用
    http
  • *
    -当前位置右侧除换行符以外的任何0+字符
  • (jpg | png)
    -要么
    jpg
    要么
    png

请共享输入和预期输出。
/^(?)*http.*(jpg | png)/i
我假设您在http和jpg或png之间有一些字符?你的正则表达式应该接受这个consideration@HassanImam更新了一个例子input@WiktorStribiżew谢谢,现在返回正确的结果。如果你想贴出来,我会把它标为正确答案