Как написать это регулярное выражение - PullRequest
1 голос
/ 20 июля 2010

В моем HTML у меня есть следующие теги:

<img src="../images/img.jpg" alt="sometext"/>

Используя выражение регулярного выражения, которое я хочу удалить alt=""

Как бы я это написал?

Обновление

Это на подвижном типе. Я должен написать это так: (textA заменяется textB)

regex_replace="textA","textB"

Ответы [ 6 ]

5 голосов
/ 20 июля 2010

Почему бы вам просто не найти 'alt = ""' и заменить его на ''?

1 голос
/ 20 июля 2010

Следующее выражение соответствует alt="sometext"

alt=".*?"

Обратите внимание, что если бы вы использовали alt=".*" вместо этого, и у вас было <img alt="sometext src="../images/img.jpg">, то вы бы соответствовали всей строке alt="sometext src="../images/img.jpg" (из alt=")до последнего ").

.* означает: соответствует как можно больше.

.*? означает: соответствует как можно меньше.

1 голос
/ 20 июля 2010

На подвижном типе попробуйте это:

regex_replace="/alt=""/",""

http://www.movabletype.org/documentation/developer/passing-multiple-parameters-into-a-tag-modifier.html

1 голос
/ 20 июля 2010

Какое регулярное выражение вы просите?Сразу удалить ..

 $ sed 's/alt=""//'
    <img src="../images/img.jpg" alt=""/>
    <img src="../images/img.jpg" />

Для этого не требуется регулярное выражение.

0 голосов
/ 20 июля 2010

Этот модификатор regex_replace должен соответствовать любому тегу IMG с атрибутом alt и захватывать все , предшествующее атрибуту alt в группе # 1.Соответствующий текст затем заменяется содержимым группы # 1, фактически удаляя атрибут alt.

regex_replace='/(<img(?:\s+(?!alt\b)\w+="[^"]*")*)\s+alt="[^"]*"/g','$1'

Это то, что вы ищете?

0 голосов
/ 20 июля 2010
s/ alt="[^"]*"//
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...