我想要包含一个字符串,如果它包含' 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
答案 0 :(得分:1)
您可以使用
/^(?!.*http).*(jpg|png)/i
<强>详情
^
- 字符串开头(?!.*http)
- 在允许当前位置右侧的换行符以外的任何0 +字符后,不允许http
.*
- 除当前位置右侧的换行符之外的任何0 +字符(jpg|png)
- jpg
或png
。