Я пытаюсь выделить текст с помощью регулярных выражений, оставив все теги img
без изменений.
Я обнаружил следующий код, который выбирает все теги img
:
/<img[^>]+>/g
, но на самом деле с таким текстом, как:
This is an untagged text.
<p>this is my paragraph text</p>
<img src="http://example.com/image.png" alt=""/>
<a href="http://example.com/">this is a link</a>
, используя код выше, выберет тег img only
/<img[^>]+>/g #--> using this code will result in:
<img src="http://example.com/image.png" alt=""/>
, но я хотел бы использовать некоторыерегулярное выражение, которое выбирает все, кроме изображения, например:
/magical regex/g # --> results in:
This is an untagged text.
<p>this is my paragraph text</p>
<a href="http://example.com/">this is a link</a>
Я также нашел этот код:
/<(?!img)[^>]+>/g
, который выбирает все tags
, кроме img
.но в некоторых случаях у меня будет тег или текст без тегов между тегами, так что это не будет работать для моего случая.: (
есть ли способ сделать это? Извините, но я действительно плохо знаком с регулярными выражениями, поэтому я действительно несколько дней пытаюсь заставить его работать, но я не могу.
Заранее спасибо
ОБНОВЛЕНИЕ:
Хорошо, так что для тех, кто думает, я хотел бы разобрать его, извините, я не хочу его, я просто хочу выбрать текст.
Другое дело, я не использую какой-либо конкретный язык, я использую Yahoo Pipes , которые предоставляют только регулярные выражения и некоторые строковые инструменты для выполнения работы, но не развиваютсяЛюбой программный код.
для лучшего понимания, вот как работает модуль регулярных выражений в каналах Yahoo:
http://pipes.yahoo.com/pipes/docs?doc=operators#Regex
ОБНОВЛЕНИЕ 2
К счастью, я могу удалить текст рядом с тегом img
, но постепенно, как рекомендовано @Blixt, например:
<(?!img)[^>]+> , replace with "" #-> strips out every tag that is not img
(?s)^[^<]*(.*), replace with $1 #-> removes all the text before the img tag
(?s)^([^>]+>).*, replace with $1 #-> removed all the text after the img tag
, проблема в том, что он будет толькопоймать первый тег img, а потом мне придется сделать это вручную, а остальные поймать его жестко, так что я до сих пор нетне уверен, что это лучшее решение.