2016-05-08 8 views
3

私はこれについて多くのことを尋ねてきました。 私は次のことを達成しようとしています: MIMEが特定のタイプでない場合、正規表現の条件をチェックする必要があります。否定による一致の検索(不足している文字列に基づいて)

例えば、私は次のメッセージreceviedています

image/png, image/jpeg, document/pdf 

を私は、MIMEタイプである、document/pdf一部にのみ を検出する画像/

で始まらない文字列を、希望します

しかし、私は、見てみましたとRegExBodyソフトウェアで遊ん、私は全くそれに一致しないいかに難しいかに関係なく..

私は絶望でこれを掲示し、多分専門家の正規表現が私を助けることができることを期待していますよ..

私は多くのアプローチを主に試みました: 1つではなくても、非画像タイプを見つけること。

ちょうど仕事を拒否します。 私は肯定的な先取りと否定的な先読みを試みました。しかし、私はおそらく何とかそれを間違って使用しました。私は試して削除したので、例を投稿することはできません。実際に仕事に近いと思われたものは\b(?:(?!image/\w+))\w+\bでしたが、それは不一致パターンの第2部分を選択するだけです。 私が使用している場合:image/png それが得る:私はimage/タイプを無視することを意味するが、それはまだtrueを返します意味png ...

+0

サンプルの入力と予想される出力/結論を表示してください。 –

+0

ここにタイトルに[解決済み]を追加しないでください。解決の目印は問題を解決済みとしてマークするのに十分です。ありがとう! – halfer

+0

こんにちは、どうやって傷つけますか? – SKYFALL26

答えて

2

あなたの部分文字列を一致させるために\w+/\w+部を添加しておく必要があります

\b(?!image/)\w+/\w+\b 

regex demo

パターンの詳細を参照してください。

  • \b - ワード境界
  • (?!image/) - がある場合、一致を失敗負先読みimage/
  • \w+/\w+現在位置の後 - 1+単語文字が/と続き、再び1+単語文字
  • \b - 末尾の単語境界
+1

ありがとうございました!クイックアンサー+それは働いている! :)私はあなたの答えを正しいものとして選択しようとしています – SKYFALL26

+0

あなたも私の回答が役に立つと分かっているなら、それを上書きすることを検討してください。 –

0

この検索正規表現は ''に置き換えられ、document/pdfが返されます。

(?:image\/\w+)[,\s]* 
関連する問題