2016-04-28 2 views
-4

Notepad ++ (REGEX); Инвертировать выбор,(REGEX); Инвертировать выбор,

Следующие 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

Форвард

Убедитесь, что вы используете последнюю версию Notepad ++, там, где известные проблемы с использованием регулярных выражений в Блокноте ++ v5 и перед которым были исправлено в v6.

Описание

  • Захвата значение атрибута SRC
  • работает с двойными кавычками, одиночные кавычками, и кавычки не значением атрибутов
  • избегают хитрых случаев краев, которые обычно подножки простых выражений

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

enter image description here

Как

С Notepad ++

  1. нажмите CtrlF ввести поиска и замены режим

  2. Выберите Обычная опция Expression

  3. Выберите ".соответствует новой строки»вариант

  4. В "Найти" поле место следующее регулярное выражение <img(?=\s|>)(?=(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*?\ssrc=(['"]?)(.*?)\1(?:\s|>))(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*>

  5. Нажмите Найти все

Regex Пример

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 
Смежные вопросы