2016-04-28 11 views
-4

メモ帳++(REGEX);選択を反転する(REGEX);選択の反転、

次の2つの異なるコードは、非常にうまく動作します。 :) 今私はこれらの2つの異なるコードを結合したい!

\bhttps?:[^)''"\s]+\.(?:jpg|jpeg|gif|png) 

https://codereview.stackexchange.com/questions/20126/regex-to-get-all-image-links

^((?!hello).)*$ 

notepad++ Inverse Regex replace (all but string)

+0

あなたの質問はとてもうまく表示されています。これまでに何をやってみたのですか? –

+0

質問を読めるようにするにはhttp://stackoverflow.com/editing-helpをご覧ください。 –

答えて

1
フォワード

あなたはv5のメモ帳+ +で正規表現を使用して、++が既知の問題をメモ帳の最新バージョンを使用していて、その前にされていることを確認v6で修正されました。

説明

  • 、引用された二重引用符で囲まれたシングル、および非引用された属性が
  • 値と
  • 作品src属性の値をキャプチャし、通常は単純な式
をつまずかトリッキーなエッジケースを回避

<img(?=\s|>)(?=(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\ssrc=(['"]?)(.*?)\1(?:\s|>))(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*>

enter image description here

方法

メモ帳++から

  1. プレスCTRLFは、findを入力して モード

  2. は、正規表現のオプション

  3. を選択して交換します

    "を選択します。改行」オプションには

  4. "次の正規表現 <img(?=\s|>)(?=(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\ssrc=(['"]?)(.*?)\1(?:\s|>))(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*>

  5. クリックすべて

正規表現の例

Live Demo

を検索する文字" フィールドの場所の検索に一致しますサンプルテキスト最初の二つの画像タグが

<img onmouseover=' img = 10; src="NotYourImage.png" ; if (3 <img && src="NotYourImage.png" && 6>3) { funRotate(src) ; } ; ' src="ImageYouAreLookingFor.png"> 
<img onmouseover=' src="NotTheDroidsYouAreLookingFor.png" ; if (x > 3) { funRotate(src); } ' src="http://another.example/picture.png"> 
<img src="./CaptchaServlet?rd=htb54m" class="flt" id="captcha" height="33" width="110"/> 

マッチ

グループ0は、全体のイメージタグ
グループ1を取得するいくつかの非常に困難なエッジケースを持って

注に使用引用符を取得しますsrc属性を囲み、正しい閉じ引用符が一致するようにします。
グループ2はsrc値を取得します。あるいは、上記の別の正規表現を使用すると、 rdのクエリ文字列を受け取る

[0][0] = <img onmouseover=' img = 10; src="NotYourImage.png" ; if (3 <img && src="NotYourImage.png" && 6>3) { funRotate(src) ; } ; ' src="ImageYouAreLookingFor.png"> 
[0][1] = " 
[0][2] = ImageYouAreLookingFor.png 

[1][0] = <img onmouseover=' src="NotTheDroidsYouAreLookingFor.png" ; if (x > 3) { funRotate(src); } ' src="http://another.example/picture.png"> 
[1][1] = " 
[1][2] = http://another.example/picture.png 

[2][0] = <img src="./CaptchaServlet?rd=htb54m" class="flt" id="captcha" height="33" width="110"/> 
[2][1] = " 
[2][2] = ./CaptchaServlet?rd=htb54m