2017-12-05 9 views
1

'jpg'または 'png'のいずれかが含まれていて、 'http'が含まれている場合は除外します。Javascriptの一致 - 2つのキーワードを含むものをすべて含みます.1つのキーワードを持つものはすべて無視します。

私は次のことをしようとしているが、それは両方のhttpとPNGまたはJPGのいずれかが含まれている場合、それはまだ文字列が含まれて

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

Anは、これが両方含まれているように、入力がhttp://s3-eu-west-1.amazonaws.com/bucket/1512491455764.png?Signature=signature

だろうと予想httpとpngの場合、この文字列は無視され、正規表現からfalseが返されます

+2

入力と期待される出力を分けてください。 –

+2

'/^(?!.* http)。*(jpg | png)/ i' –

+0

httpとjpgまたはpngの間にいくつかの文字があるとしますか?あなたの正規表現はそれを考慮に入れてください。 – Skwal

答えて

1

/^(?!.*http).*(jpg|png)/i 

詳細

  • ^ - 文字列の先頭
  • (?!.*http) - 何httpが現在の場所のすぐ右に改行文字以外の任意の0+文字の後に許可されていませんが許可されている
  • .* - 改行文字以外の0文字以上の文字は、現在の場所のすぐ右にあります。
  • (jpg|png) - jpgまたはpngです。