Javascript匹配-包含任何包含2个关键字的内容,忽略任何包含1个关键字的内容
如果包含“jpg”或“png”,我希望包含一个字符串,但如果包含“http”,则排除该字符串 我一直在尝试以下内容,但如果它同时包含http和png或jpg,则仍然包含字符串: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,因此该字符串将被忽略/从您可能使用的正则表达式返
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
详细信息
-字符串的开头^
-在允许任何0+字符(当前位置右侧的换行字符除外)之后,不允许使用(?!*http)
http
-当前位置右侧除换行符以外的任何0+字符*
-要么(jpg | png)
要么jpg
png
/^(?)*http.*(jpg | png)/i
我假设您在http和jpg或png之间有一些字符?你的正则表达式应该接受这个consideration@HassanImam更新了一个例子input@WiktorStribiżew谢谢,现在返回正确的结果。如果你想贴出来,我会把它标为正确答案